200 lines
4.9 KiB
Python
200 lines
4.9 KiB
Python
s1 = 'hello ' * 3
|
|
print(s1) # hello hello hello
|
|
s2 = 'world'
|
|
s1 += s2
|
|
print(s1) # hello hello hello world
|
|
print('ll' in s1) # True
|
|
print('good' in s1) # False
|
|
str2 = 'abc123456'
|
|
# 从字符串中取出指定位置的字符(下标运算)
|
|
print(str2[2]) # c
|
|
# 字符串切片(从指定的开始索引到指定的结束索引)
|
|
print(str2[2:5]) # c12
|
|
print(str2[2:]) # c123456
|
|
print(str2[2::2]) # c246
|
|
print(str2[::2]) # ac246
|
|
print(str2[::-1]) # 654321cba
|
|
print(str2[-3:-1]) # 45
|
|
|
|
#%%
|
|
str1 = 'hello, world!'
|
|
# 通过内置函数len计算字符串的长度
|
|
print(len(str1)) # 13
|
|
# 获得字符串首字母大写的拷贝
|
|
print(str1.capitalize()) # Hello, world!
|
|
# 获得字符串每个单词首字母大写的拷贝
|
|
print(str1.title()) # Hello, World!
|
|
# 获得字符串变大写后的拷贝
|
|
print(str1.upper()) # HELLO, WORLD!
|
|
# 从字符串中查找子串所在位置
|
|
print(str1.find('or')) # 8
|
|
print(str1.find('shit')) # -1
|
|
# 与find类似但找不到子串时会引发异常
|
|
# print(str1.index('or'))
|
|
# print(str1.index('shit'))
|
|
# 检查字符串是否以指定的字符串开头
|
|
print(str1.startswith('He')) # False
|
|
print(str1.startswith('hel')) # True
|
|
# 检查字符串是否以指定的字符串结尾
|
|
print(str1.endswith('!')) # True
|
|
# 将字符串以指定的宽度居中并在两侧填充指定的字符
|
|
print(str1.center(50, '*'))
|
|
# 将字符串以指定的宽度靠右放置左侧填充指定的字符
|
|
print(str1.rjust(50, ' '))
|
|
str2 = 'abc123456'
|
|
# 检查字符串是否由数字构成
|
|
print(str2.isdigit()) # False
|
|
# 检查字符串是否以字母构成
|
|
print(str2.isalpha()) # False
|
|
# 检查字符串是否以数字和字母构成
|
|
print(str2.isalnum()) # True
|
|
str3 = ' jackfrued@126.com '
|
|
print(str3)
|
|
# 获得字符串修剪左右两侧空格之后的拷贝
|
|
print(str3.strip())
|
|
|
|
# %%
|
|
def fib(n):
|
|
a, b = 0, 1
|
|
for _ in range(n):
|
|
a, b = b, a + b
|
|
yield a
|
|
|
|
|
|
def main():
|
|
for val in fib(20):
|
|
print(val)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
main()
|
|
|
|
# %%
|
|
t = ('骆昊', 38, True, '四川成都')
|
|
# 遍历元组中的值
|
|
for member in t:
|
|
print(member)
|
|
# 重新给元组赋值
|
|
# t[0] = '王大锤' # TypeError
|
|
# 变量t重新引用了新的元组原来的元组将被垃圾回收
|
|
t = ('王大锤', 20, True, '云南昆明')
|
|
print(t)
|
|
# 将元组转换成列表
|
|
person = list(t)
|
|
print(person)
|
|
# 列表是可以修改它的元素的
|
|
person[0] = '李小龙'
|
|
person[1] = 25
|
|
print(person)
|
|
# 将列表转换成元组
|
|
fruits_list = ['apple', 'banana', 'orange']
|
|
fruits_tuple = tuple(fruits_list)
|
|
print(fruits_tuple)
|
|
#%%
|
|
import sys
|
|
|
|
list2 = []
|
|
tuple2 = ()
|
|
str = 'Magical Line'
|
|
print(sys.getsizeof(list2))
|
|
print(str.center(20, '*'))
|
|
print(sys.getsizeof(tuple2))
|
|
|
|
# %%
|
|
set1 = {1, 2, 3, 3, 3, 2}
|
|
print(set1)
|
|
print('Length =', len(set1))
|
|
# 创建集合的构造器语法(面向对象部分会进行详细讲解)
|
|
set2 = set(range(1, 10))
|
|
set3 = set((1, 2, 3, 3, 2, 1))
|
|
print(set2, set3)
|
|
# 创建集合的推导式语法(推导式也可以用于推导集合)
|
|
set4 = {num for num in range(1, 100) if num % 3 == 0 or num % 5 == 0}
|
|
print(set4)
|
|
|
|
set2.update([10, 11])
|
|
set2.discard(5)
|
|
print(set2)
|
|
#
|
|
# %%
|
|
import os
|
|
import time
|
|
|
|
|
|
def main():
|
|
content = '北京欢迎你为你开天辟地…………'
|
|
while True:
|
|
# 清理屏幕上的输出
|
|
os.system('cls') # os.system('clear')
|
|
print(content)
|
|
# 休眠200毫秒
|
|
time.sleep(0.2)
|
|
content = content[1:] + content[0]
|
|
|
|
|
|
if __name__ == '__main__':
|
|
main()
|
|
# %%
|
|
def main():
|
|
persons = [True] * 30
|
|
counter, index, number = 0, 0, 0
|
|
while counter < 15:
|
|
if persons[index]:
|
|
number += 1
|
|
if number == 9:
|
|
persons[index] = False
|
|
counter += 1
|
|
number = 0
|
|
index += 1
|
|
index %= 30
|
|
for person in persons:
|
|
print('基' if person else '非', end='')
|
|
|
|
|
|
if __name__ == '__main__':
|
|
main()
|
|
# %%
|
|
import os
|
|
|
|
|
|
def print_board(board):
|
|
print(board['TL'] + '|' + board['TM'] + '|' + board['TR'])
|
|
print('-+-+-')
|
|
print(board['ML'] + '|' + board['MM'] + '|' + board['MR'])
|
|
print('-+-+-')
|
|
print(board['BL'] + '|' + board['BM'] + '|' + board['BR'])
|
|
|
|
|
|
def main():
|
|
init_board = {
|
|
'TL': ' ', 'TM': ' ', 'TR': ' ',
|
|
'ML': ' ', 'MM': ' ', 'MR': ' ',
|
|
'BL': ' ', 'BM': ' ', 'BR': ' '
|
|
}
|
|
begin = True
|
|
while begin:
|
|
curr_board = init_board.copy()
|
|
begin = False
|
|
turn = 'x'
|
|
counter = 0
|
|
os.system('clear')
|
|
print_board(curr_board)
|
|
while counter < 9:
|
|
move = input('轮到%s走棋, 请输入位置: ' % turn)
|
|
if curr_board[move] == ' ':
|
|
counter += 1
|
|
curr_board[move] = turn
|
|
if turn == 'x':
|
|
turn = 'o'
|
|
else:
|
|
turn = 'x'
|
|
os.system('clear')
|
|
print_board(curr_board)
|
|
choice = input('再玩一局?(yes|no)')
|
|
begin = choice == 'yes'
|
|
|
|
|
|
if __name__ == '__main__':
|
|
main()
|
|
# %%
|