我计划的是当用户输入导致错误的东西时(在我的代码中,是eval()将导致输入中的错误),它会循环返回。
while True:
x = input('Enter price: ')
y = eval(x)
if y == #error condition
print('Error! Please try again.')
continue
else:
print(y)
break
输出应为:
Enter price: +
Error! Please try again.
Enter price: 1+
Error! Please try again.
Enter price: 1+1
2
有可能吗?我正在使用Python 3.4 btw。
答案 0 :(得分:2)
您可以使用try ... except
构造。它将捕获异常:
while True:
x = input('Enter price: ')
try:
y = eval(x)
except Exception:
print('Error! Please try again.')
continue
print(y)
break