1.九宫格
1至9九个数字,横竖都有3个格,思考怎么使每行、每列和对角线上的三数之和都等于15
import random
n=1 #结果次数
y=[] #判断列表判断等下生成的结果列表不会重复
while True:
x = [] #结果
for i in range(100): #随机生成数字
a=random.randint(1,9)
if a in x: #让随机生成的数不会重复
continue
x.append(a)
if x in y: #判断这次产生的结果是否已经出现过
continue
#判断条件,应该可以精简
if x[0]+x[1]+x[2]==15 and x[3]+x[4]+x[5]==15 and x[6]+x[7]+x[8]==15 and x[0]+x[3]+x[6]==15 \
and x[1]+x[4]+x[7]==15 and x[2]+x[5]+x[8]==15 and x[0]+x[4]+x[8]==15 and x[2]+x[4]+x[6]==15:
#输出结果
print('第'+'%d'%n+'个结果')
print(x[0],x[1],x[2])
print(x[3], x[4], x[5])
print(x[6], x[7], x[8])
n+=1
y.append(x)
2.寻找班级里面名字最长的人
我有一串字符串人名:names=’ Kunpen Ji, Li XIAO, Caron Li, Donl SHI, Ji ZHAO, Fia YUAN Y, Weue DING, Xiu XU, Haiying WANG, Hai LIN, Jey JIANG, Joson WANG E, Aiyang ZHANG, Hay MENG, Jak ZHANG E, Chang Zhang, Coro ZHANG’,我希望能做到下面3点:
问题1:排序,按照姓名A-Z排序
问题2:找出里面姓”ZHANG”有几个
问题3:找出名字里面最长的人
names='Kunpen Ji, Li XIAO, Caron Li, Donl SHI, Ji ZHAO, Fia YUAN Y, Weue DING, Xiu XU, Haiying WANG, Hai LIN, Jey JIANG, Joson WANG E, Aiyang ZHANG, Hay MENG, Jak ZHANG E, Chang Zhang, Coro ZHANG'
z=[]
y=0
x=[i.strip()for i in names.split(',')]
x.sort()
print("排序后",x)
for i in range(len(x)):
y=y+x[i][:].count('ZHANG')
print("姓为ZHANG人的个数:",y)
z=[]
y=[]
max=0
for i in range(len(x)):
if len(x[i][:])>=max:
max=len(x[i][:])
y.append(i)
z.append(x[i])
print("姓名最长的人为:")
for i in range(len(y)):
print(z[i])