因此,我正在尝试创建一个计算器,您将您输入控制台,直到按Enter而不输入任何数字为止。
num1 = 0
num2 = 0
if addec == ("Go"):
adloop = 1
print(para1, """ To exit,
press enter with no number
Please input the first number""", para1)
sleep(1.5)
num1 = float(input("--> "))
while adloop == 1:
try:
num1 = num1 + num2
print("Insert Number")
num2 = float(input("--> "))
except:
if num2 is None:
print("The answer is", num1)
else:
print(para1, """ ERROR: Invalid Response.
Please start again""")
错误即使在num2为null时也会出现,该程序会跳过" else"语句,并在重新启动而无需回答答案之前运行错误行。
(代码只是一个小提取物,因此,如果缺少任何东西,它可能在其他地方)
谢谢,
以及 num2
永远不会设置为 None
,没有代码可以实际退出循环(在成功或失败上)。代码中,代码中还有零件中的元素示例为示例(例如 addec
, para1
, sleep(1.5)
,多行字符串等)在提出一个可运行的示例时,您应该提出问题:
print("To exit, press enter with no number.")
print("Please input the first number:")
num1 = float(input("--> "))
num2 = 0
while True:
try:
num1 = num1 + num2
num2 = None
print("Insert Number")
num2 = float(input("--> "))
except ValueError:
if num2 is None:
print("The answer is", num1)
break
else:
exit("ERROR: Invalid Response. Please start again")
我们也可以将其内部旋转,因此我们还可以捕获num1
的不良值:
print("To exit, press enter with no number.")
print("Please input the first number:")
num2 = 0
try:
num1 = float(input("--> "))
while True:
num1 = num1 + num2
num2 = None
print("Insert Number")
num2 = float(input("--> "))
except ValueError:
if num2 is None:
print("The answer is", num1)
else:
exit("ERROR: Invalid Response. Please start again")
用法
% python3 test.py
To exit, press enter with no number.
Please input the first number:
--> goat
ERROR: Invalid Response. Please start again
%