Python 一个程序,提示用户输入一个非负整数n,然后写入n的偶数和

Python 一个程序,提示用户输入一个非负整数n,然后写入n的偶数和,python,while-loop,Python,While Loop,我想要一个程序,使用while函数对较大数的偶数求和 例如: 电话号码是:12345 打印:6(2+4) 这是我到目前为止写的: num = int(input("Introduce a non negative number: ")) if num % 2 == 0: sum += num print("sum") 我怎么强调都不过分 在做学校作业时,作业的整体理念是教你概念,而不是解决方案。给你这个任务是有原因的,让别人帮你解决它-不是办法 如果有什么不清楚的地方,回到你的老师那

我想要一个程序,使用while函数对较大数的偶数求和

例如: 电话号码是:12345 打印:6(2+4)

这是我到目前为止写的:

num = int(input("Introduce a non negative number: "))
if num % 2 == 0:
    sum += num

print("sum")
我怎么强调都不过分 在做学校作业时,作业的整体理念是教你概念,而不是解决方案。给你这个任务是有原因的,让别人帮你解决它-不是办法

如果有什么不清楚的地方,回到你的老师那里寻求帮助。但因为其他人开始发布解决方案,我还是把我的留在这里为好


跳过对早期整数的转换,将允许您将其作为字符串进行迭代,并一次获取一个数字

num = input("Introduce a non negative number: ")
total = 0
for i in num:
    if int(i) % 2 == 0:
        total += int(i)

print("sum:", total)
然后,您可以使用原始逻辑,只需稍作修改。
因为无论出于什么原因,您只允许在时使用
,而不允许在
时使用
,所以您只需要稍微调整一下

num = input("Introduce a non negative number: ")
total = 0
i = 0
while i < len(num):
    if int(num[i]) % 2 == 0:
        total += int(num[i])
    i += 1

print("sum:", total)
num=input(“引入一个非负数:”)
总数=0
i=0
而i
当我再次阅读我的代码时。我很确定这里的
while
循环是这个问题最不漂亮的解决方案。但从教学的角度来看,这可能有一些好处。但是如果可能的话,我建议使用
for
循环。

试试这个:

# split the number to list of digits
digits_list = list(input("Introduce a non negative number: "))

total = 0

# loop over the digits list and pick a digit till the list is empty
while digits_list:
    digit = digits_list.pop()
    if int(digit) % 2 == 0:
        total += int(digit)
print(total)

str(数字)中的i的
:如果int(i)%2==0:
?这样做行吗?因为这是一项学校作业,我将投票结束这一问题,并请你蒂亚戈向你的老师寻求指导。这些作业更多的是教你概念,而不是试图找到解决方案。所以你完全搞错了。为什么你需要一个
,而
?(也可能是相关的:您的尝试中似乎遗漏了它。)谢谢您的帮助,但我不能只在和的时候使用“for”if@TiagoEmanuelPratas这是学校的作业吗?此外,使用
math.abs
处理输入错误也是一个有趣的机会。是的,这是一个学校项目,只是一个家庭作业练习。我只是被卡住了,这些解释帮助我澄清。thanks@TiagoEmanuelPratas我还应该提到,我也是从同样的情况开始的。陷入困境,想寻求帮助。让别人“解决”并从中学习更容易。所以这是一种学习方式,你的帮助中的“为什么”很重要。你问这个问题是因为你不理解这个概念,还是因为你理解了这个概念,并且你有实际的执行问题。在这种情况下,不是后者:)