# 简单选择排序法
b = [3,4,2,1,6,4,6,7]
for i in range(len(b)):
maxindex = i
for j in range(i+1,len(b)):
if b[maxindex] < b[j]:
maxindex = j
if maxindex != i:
b[i],b[maxindex] = b[maxindex],b[i]
print(b)
# 一次迭代找出最大和最小,分别移位,效率略好
b = [3,4,2,1,6,4,6,7]
for i in range(len(b)//2):
maxindex = i
minindex = i
for j in range(i+1,len(b)-i):
if b[j] > b[maxindex]:
maxindex = j
if b[j] < b[minindex]:
minindex = j
if b[minindex] == b[maxindex]: # 最大最小相同,直接break
break
if maxindex != i:
b[i],b[maxindex] = b[maxindex],b[i]
if i == minindex:
minindex = maxindex
if minindex != -i-1 and b[minindex] != b[-i-1]: # 索引不同且值不同
b[-i-1],b[minindex] = b[minindex],b[-i-1]
print(b)
# 0001.abcc... 生成100项,左侧为顺序四位数字,不够补零,右侧为10位随机小写字母
import string
import random
a = string.ascii_lowercase
s1 = ''.join(string.ascii_lowercase[random.randint(0,25)] for i in range(10))
s2 = ''.join(chr(random.randint(97,122)) for i in range(10))
s3 = ''.join(random.choice(string.ascii_lowercase) for i in range(10))
s4 = ''.join(random.sample(string.ascii_lowercase,10))
s5 = ''.join(random.choice(bytes(range(97,123)).decode()) for i in range(10))
['{:04}.{}'.format(i,''.join(string.ascii_lowercase[random.randint(0,25)] for j in range(10))) for i in range(1,101)]
##打印杨辉三角,前十行,格式化打印
# 逐行打印
triangle = [1]*10
for i in range(10):
tmp = 1
for j in range(1,i//2+1):
triangle[j],tmp = triangle[j] + tmp,triangle[j]
triangle[-j-10+i] = triangle[j]
print('{:^40}'.format(' '.join('{:^3}'.format(i) for i in triangle[:i+1])))
# 得到总的列表一起打印
triangle = [[1],[1,1]]
for i in range(2,10):
triangle.append([1])
for j in range(1,i):
triangle[i].append(triangle[i-1][j-1]+triangle[i-1][j])
triangle[i].append(1)
#print(triangle)
[print('{:^40}'.format(''.join('{:^3} '.format(triangle[i][j]) for j in range(len(triangle[i]))))) for i in range(len(triangle))]
# 打印九九乘法表,列表解析式
[print('{}*{}={:<2} {}'.format(i,j,i*j,'\n' if i==j else ''),end='') for i in range(1,10) for j in range(1,i+1)]
[print(' '.join('{}*{}={:<2}'.format(i,j,i*j) for j in range(1,i+1))) for i in range(1,10)]
print('~~~~~~~~~~~~~~'*5)
[print('{:>63}'.format(' '.join('{}*{}={:<2}'.format(i,j,i*j) for j in range(i,10)))) for i in range(1,10)]