gpt4 book ai didi

python - 我想在 python 中编写一个函数,如果所有数字都是偶数,它返回 true

转载 作者:行者123 更新时间:2023-12-01 23:30:52 25 4
gpt4 key购买 nike

该函数是 all_even,您在其中输入一个 int 并返回 bool。如果所有数字都是偶数,则返回 true。例如all_even(2224) 给出 true,all_even(1362) 给出 false。

我写了代码,但它不能正常工作。

这是我的:

def is_very_even(num: int) -> bool: 
even = False
strnum = str(num)
for ch in strnum:
if int(ch)% 2==0:
even = True
return even

即使 num 有一个偶数,其余的都是奇数,代码也会给出 true,例如 all_even(231) 是 true 而本应是 false。谁能告诉我它有什么问题。

最佳答案

您可以使用递归方法(无需转换为字符串):

def allEven(N): return True if N==0 else N%2==0 and allEven(N//10)

输出:

allEven(246) # True   
allEven(123) # False

请注意,您的函数存在的问题是,您一遇到偶数就将 even 设置为 True。如果之后有一个奇数,您的 even 变量将保持 True。这将告诉您“至少一个”数字是偶数,而不是它们都是偶数。

关于python - 我想在 python 中编写一个函数,如果所有数字都是偶数,它返回 true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66290512/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com