我一直在while循环上遇到语法错误,我不明白为什么。
def main():
n=1
i=1
flag=True
num1=eval(input("Enter number")
while i<9:
n=n+1
num2=eval(input("Enter number", n))
r=r+1
if num2<num1:
flag=False
num1=num2
if flag==True:
print("yes")
else:
print("no")
main()
答案 0 :(得分:4)
您的语法错误是因为while循环上方的表达式缺少一个已关闭的paren:
num1=eval(input("Enter number")
我还建议您将代码转到Code Review SE,以获取有关代码的其他问题的建设性反馈。
答案 1 :(得分:3)
def main():
n=1
i=1
flag=True
num1=eval(input("Enter number"))
while i<9:
n=n+1
num2=eval(input("Enter number", n))
i+=1
if num2<num1:
flag=False
num1=num2
if flag==True:
print("yes")
else:
print("no")
main()
您将参数打开为num1 = eval(输入(“输入数字”))
我也将r = r + 1更改为r + = 1,它们做同样的事情,但它看起来更好一些。
您还可以通过将其更改为:
来确保该数字是整数num1 = int(输入(“输入数字:”))
另外,我认为n + = 1需要i + = 1来结束无限循环。
答案 2 :(得分:0)
驾驶你的无限循环。最终的代码可能是(包括其他同行的好答案):
def main():
n=1
flag=True
num1=eval(input("Enter number"))
while n<9:
n+=1
num2=eval(input("Enter number", n))
if num2<num1:
flag=False
num1=num2
if flag:
print("yes")
else:
print("no")
main()
简单地循环变量n:i和r在这里没用。