python - 列表中 10 的倍数

标签 python python-3.x function return-value definition

我目前正在初级 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/

相关文章:

python - 从文本文件访问随机行 - Python

c++ - 如何将指向 "DEFINED"常量的指针传递给 C 中的函数?

javascript - 使用多参数函数时无法获取对象数据

c - 为什么我们不能动态分配一个指向函数的指针?

python - AWS - Lambda 无法通过 Python SDK 调用另一个 lambda

python - 将不在模型中的字段添加到 Django ModelForm

python - 通过Python访问Indeed

python - 有什么办法可以限制 Selenium 查找元素的时间吗?

python - 如何根据多个条件从 numpy 数组中删除行?

python-3.x - CelebA 数据集无法使用 tfds.load() 访问