【发布时间】:2018-06-25 13:01:46
【问题描述】:
我的程序有一些逻辑错误。在过去的几个小时里,我一直在尝试解决这个问题。它应该打印三或五的倍数的所有数字的总和。
我的输出
1.)enter an integer number (0 to end): enter an integer number (0 to end):
2.)enter an integer number (0 to end): 3+ = 3
预期输出
1.)enter an integer number (0 to end): 3 = 3
2.)enter an integer number (0 to end): 3+5 = 8
下面是我的代码。
while True:
answer = ""
num = int(input("enter an integer number (0 to end): "))
end_answer = 0
if num == 0:
exit()
for i in range(1, num+1):
if i%3==0 or i%5==0 :
answer += str(i)
end_answer += i
if i != num and (i%3==0 or i%5==0):
answer += "+"
print(str(answer) + " = " + str(end_answer) )
我在 python 中看到过类似的答案
【问题讨论】:
-
while True:没有退出条件,也没有中断。您的代码将一直要求num永远(假设空行结束必须格式化的代码块) -
请正确格式化您的代码,它不会在当前状态下运行。 @TusharAggarwal,我猜正确的缩进会在
while True中包含整个事物,这意味着if num == 0: exit()将是退出条件。 -
@paxdiablo 是的,如果数字等于 0,则它存在。
-
@AngelValenzuela,您仍然需要正确格式化缩进
-
希望我的缩进现在是正确的。
标签: python python-3.x logic