![](/img/trans.png)
[英]ZeroDivisionError: float division by zero, how to print something then quit when users first enter a specific string?
[英]How do I avoid the 'ZeroDivisionError: division by zero' error when a user enters a string the first two instances using my code below?
nums = []
while True:
user_resp = input('Enter a number:')
try:
if user_resp == 'done':
break
if user_resp == 'DONE':
break
num = float(user_resp)
nums.append(num)
except:
if user_resp == 'abort':
exit()
if user_resp == 'ABORT':
print('aborting...')
exit()
else:
print('Invalid Input.Type done to calculate or abort to exit.')
avg = sum(nums) / len(nums)
print('Average:', avg)
检查零:
nums = []
while True:
user_resp = input('Enter a number:')
try:
if user_resp == 'done':
break
if user_resp == 'DONE':
break
num = float(user_resp)
nums.append(num)
except:
if user_resp == 'abort':
exit()
if user_resp == 'ABORT':
print('aborting...')
exit()
else:
print('Invalid Input.Type done to calculate or abort to exit.')
if len(nums) == 0:
print('No numbers provided')
else:
avg = sum(nums) / len(nums)
print('Average:', avg)
nums = []
while True:
user_resp = input('Enter a number: ')
try:
if user_resp.lower() == 'done':
break
elif user_resp.lower() == 'abort':
print('aborting...')
exit()
num = float(user_resp)
nums.append(num)
except:
print('Invalid Input.Type done to calculate or abort to exit.')
try:
avg = sum(nums) / len(nums)
print('Average:', avg)
except ZeroDivisionError as zde:
print('Cannot divide by zero')
这是你想要的? 我还简化了您的代码以摆脱不必要的检查
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.