【发布时间】:2019-09-20 02:39:07
【问题描述】:
我编写了一个简短的程序,比较两个整数并在最后提供适当的答案。我希望程序重复自己,以防整数不是写在“userint”中。
核心计划:
from random import randint
rn = randint(0,5)
print("The randomly generated integer is:",rn)
userint= input("Enter an integer:")
try:
if userint == rn:
print("Numbers are equal!")
elif userint > rn:
print(userint)
else:
print(rn)
except:
print("You have not entered an integer!")
if input("Do you want to repeat(y/n)").lower()== " N":
break
这是我尝试使用的:
while True:
from random import randint
rn = randint(0,5)
print("The randomly generated integer is:",rn)
userint= input("Enter an integer:")
try:
if userint == rn:
print("Numbers are equal!")
elif userint > rn:
print(userint)
else:
print(rn)
except:
print("You have not entered an integer!")
if input("Do you want to repeat(y/n)").lower()== " N":
break
我还尝试了另一种重复程序的方法:
def main():
from random import randint
rn = randint(0,5)
print("The randomly generated integer is:",rn)
userint= input("Enter an integer:")
try:
if userint == rn:
print("Numbers are equal!")
elif userint > rn:
print(userint)
else:
print(rn)
except:
print("You have not entered an integer!")
restart = input("Do you want to start again?").lower()
if restart == "yes":
main()
else:
exit()
main()
在这两种情况下,程序都会要求用户输入值。比,尽管它运行程序的重新启动部分的值,但没有进行实际的值比较。
有人可以指导我如何修复程序并允许它比较值,如果用户输入不是整数打印(“你还没有输入整数!”),问“你想重新开始吗?”,并再次运行程序?
【问题讨论】:
-
您将输入小写并将其与大写字符串进行比较。
-
您的代码中从未有过 int 比较。您正在将字符串与 int 进行比较;这肯定会导致 except 块运行。
标签: python while-loop main repeat