第一题:
def move(cube:list)->bool:
if (cube[0],cube[1])==(cube[2],cube[3]):return False # 同一个格子
if cube[0] == cube[2] or cube[1] == cube[3]:return True # 同行或同列
return False
cube = list(map(int,input().split()))
print('是') if move(cube) else print('否')
第二题:
def fun(n):
if n<=5:return 2*n
if n>5:
return fun(n-2)+3*fun(n/2)+n if n%2==0 else fun(n-1)+fun(n-2)+fun(n-3)
print(fun(99)+fun(100))
第三题:
n, m = eval(input())
res = []
for i in range(n):
res += list(map(int,input().split()))
loc = res.index(max(res))
print(1+loc//m, 1+loc%m)
运行结果:
(5,5)
1 2 3 4 5
2 3 4 5 6
5 6 7 8 9
7 8 9 1 2
9 8 7 6 5
3 5
第四题:
def fun(n):
return 1 if n==1 else n*fun(n-1)
n = int(input())
sumtotal = 0
for i in range(n):
sumtotal += fun(i+1)
print(sumtotal)
第五题:
s = ['张三 男 30','李四 女 40','王五 男 50']
with open(r'员工信息.txt','w') as f:
f.write('\n'.join(s))
with open(r'员工信息.txt','r') as f:
p = f.readlines()
userinfo = [i.strip().split() for i in p]
print(len([i for i in userinfo if int(i[2])>40]))
第六题:
res=[]
for x in range(185//15+1):
for y in range(185//17+1):
for z in range(185//21+1):
if 15*x + 17*y + 21*z == 185:
res.append([x,y,z])
break
print(f'有{len(res)}种方法可以做到:')
for i in res:
print(f'{i[0]}箱15公斤、{i[1]}箱17公斤、{i[2]}箱21公斤')
运行结果:
有5种方法可以做到:
0箱15公斤、1箱17公斤、8箱21公斤
1箱15公斤、10箱17公斤、0箱21公斤
3箱15公斤、7箱17公斤、1箱21公斤
5箱15公斤、4箱17公斤、2箱21公斤
第七题:
nums = list(map(int,input().split()))
res = []
for i in range(len(nums)-2):
m = [nums[i],nums[i+1],nums[i+2]]
l = sorted(m)
if l[0]**2+l[1]**2==l[2]**2:
res.append(m)
print(len(res))
运行结果:
5 4 3 5 4 3
[5, 4, 3] [4, 3, 5] [3, 5, 4] [5, 4, 3]