我目前正在初级 CS 类(class)中完成一项作业,只需要一点帮助。
他们要求我编写一个程序来读取整数列表并确定它是否有;
- 10的倍数
- 不能是 10 的倍数
- 混合值。
它目前可以正确输出除混合值之外的所有内容。这就是我所拥有的:
n = int(input())
my_list =[]
for i in range(n):
num = int(input())
my_list.append(num)
def is_list_mult10(my_list):
mult10 = True
for i in range(len(my_list)):
if my_list[i] % 10 != 0:
mult10 = False
return mult10
def is_list_no_mult10(my_list):
no_mult10 = True
for i in range(len(my_list)):
if my_list[i] % 10 != 1:
no_mult10 = False
return no_mult10
if is_list_no_mult10(my_list) == True:
print("no multiples of 10")
elif is_list_mult10(my_list) == True:
print("all multiples of 10")
else:
print("mixed values")
最佳答案
def check_multiplier(my_list):
is_10_multiplier = []
for i in my_list:
if i % 10 == 0:
is_10_multiplier.append(True)
else:
is_10_multiplier.append(False)
if sum(is_10_multiplier) == len(my_list):
print("all multiples of 10")
elif sum(is_10_multiplier) == 0:
print("no multiples of 10")
else: print("mixed values")
# tests
mixed = [1, 20, 34, -10]
check_multiplier(mixed)
no_10 = [13, 22, 101, -5]
check_multiplier(no_10)
only_10 = [20, 140, 30, -50]
check_multiplier(only_10)
函数check_multiplier
索引my_list
中的所有元素并将 bool 值保存到is_10_multiplier
中。然后检查 is_10_multiplier
的总和,如果所有项都为 True
则总和与传递列表的长度相等,如果全部为 False
则总和为 0 .
关于python - 列表中 10 的倍数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71687590/