我正在尝试学习Python3。以下是基本程序。在这里,我想将重试次数限制为3次。如何在Python中实现。提前致谢。
def add(x,y):
return x +y
def sub(x,y):
return x -y
def mul(x,y):
return x *y
def div(x,y):
return x /y
print("Select Operation from below:")
print("1.Addition")
print("2.Subtraction")
print("3.Multiplication")
print("4.Division")
while True:
choice= int(input("Enter your Choice(1,2,3,4) from above:"))
if choice in (1,2,3,4):
num1 = float(input("Enter first number :"))
num2 = float(input("Enter second number :"))
if choice == 1:
print("Addition of 2 numbers {} and {} is {} ".format(num1,num2,add(num1,num2)))
elif choice == 2:
print("Subtraction of 2 numbers {} and {} is {} ".format(num1,num2,sub(num1,num2)))
elif choice == 3:
print("Multiplication of 2 numbers {} and {} is {} ".format(num1,num2,mul(num1,num2)))
elif choice == 4:
print("Division of 2 numbers {} and {} is {} ".format(num1,num2,div(num1,num2)))
break
else:
invalidCount =0
if invalidCount <=3:
invalidCount += 1
print("Invalid Input with retry no {}".format(invalidCount))
else:
print("Exceeded maximum number of Invalid re-try")
超过以下重试次数时,您需要打破循环:
....
else:
print("Exceeded maximum number of Invalid re-try")
break##This will ensure you break from the immediate loop like while in your case.
您的代码中的问题是,每当invalidCount
用户输入无效的输入时,您都将其重置为0。您应该在循环之外初始化该变量。
另一种查看方式是将while条件本身修复为:
invalidCount = 0
while invalidCount <= 3:
然后在该else
部分中,您只需增加,invalidCount
这会使您的代码更简洁明了。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句