作业1:有一堆硬币,每次只能拿一个或者两个,求最少多少次可以拿完硬币
[10, 8, 5, 3, 27, 99]
ls = [10, 8, 5, 3, 27, 99]
def get_coin():
count = 0
for i in ls:
if i % 2 == 0:
count += i // 2
else:
count += i // 2 + 1
return count
print(get_coin())
作业2:如果两个素数之差为2,这样的两个素数就叫作"孪生数",找出100以内的所有"孪生数".
def get_prime():
"""
获取100以内的素数
"""
ls = [1,]
for i in range(3, 100):
flag = True
for j in range(2, i):
if i % j == 0:
flag = False
break
if flag:
ls.append(i)
return ls
def get_twinNum():
"""
获取100以内的孪生数
"""
ls = get_prime()
twinNum = []
for i in range(1, len(ls)):
if ls[i] - ls[i-1] == 2:
twinNum.append((ls[i-1], ls[i]))
return twinNum
print(get_twinNum())
作业3:给定一个列表,求最大值(不能使用系统api),求最小值,求平均值、