这是一个奇怪的计算器,无限运行,没有任何错误。有谁知道如何解决这一问题?我可以用多次输入来调用方法吗?
def calc(time):
i = 1
while i <= time:
num = int(input("Enter your number"))
i + 1
x=0
y=0
if (int(num) % 2 == 0):
even = True
print("even")
elif (int(num) % 2 != 0):
odd = True
print("odd")
if (odd == True):
x += 1
elif (even == True):
y += 1
times = int(input("How many numbers will you be putting in this calc?"))
calc(times)
答案 0 :(得分:2)
只有一些事情你错了,其余的都很好,解释在评论中:
[x,y,偶数,奇数]中的所有变量都是无用的,所以这就是我删除它们的原因。
def calc(time):
i = 1
while i <= time:
num = int(input("Enter your number"))
i+=1 # important thing here, to update the value the symbol is +=, not just +
if (int(num) % 2 == 0):
print("even")
else: # there is no need of elif, if the number is not even, by definition, it is odd
print("odd")
times = int(input("How many numbers will you be putting in this calc?"))
calc(times)
你可以在这里试试,看看如何正确地完成工作:) - &gt; https://repl.it/Nm70/0
答案 1 :(得分:1)
第5行应为i = i + 1
答案 2 :(得分:0)
我假设您遇到stackoverflow的格式问题,而不是实际代码的格式问题。你的while循环之后的行需要缩进,我假设你正在做。你遇到的问题是你没有增加我。输入后的第一行你有i + 1.这没有任何作用,因为你没有把它分配给任何东西。您的代码中有x + = 1和y + = 1,它会递增和分配。所以基本上将你的i + 1行改为i + = 1或i = i + 1
答案 3 :(得分:-2)
while循环中所需的所有内容都需要缩进一个“tab”,如下所示:
while i <= time:
#Code goes here