运行代码后,我收到一个ZeroDivisionError!有人可以解释发生了什么吗?寻找bscore和gscore输入的平均值
bscore = 0
gscore = 0
bcount = 0
gcount = 0
choice = input("Boy (b), Girl (g) or Quit (q): ")
while (choice != 'q'):
if(choice == 'b'):
score = int(input("Boy score: "))
bscore += score
bcount == 1
#z = (x / y) if y != 0 else 0
elif(choice =='g'):
score = int(input("Girl score: "))
gscore += score
gcount += 1
else:
print("Invalid!")
choice = input("Boy (b), Girl (g) or Quit (q): ")
print("Boy average is: ", (bscore/bcount))
print("Girl average is: ", (gscore/gcount))
最佳答案
您需要更换
带有bcount == 1
的bcount += 1
。 bcount == 1
是一个 bool(boolean) 语句,在这里不执行任何操作。似乎您想在此时增加计数。
另外,即使在那之后,由于可能输入的内容永远不是ZeroDivisionError
或b
,因此可能还会有一个g
。我建议您在打印时尝试分割之前先准备一个if条件。
关于python - 如何修复ZeroDivisionError : Division by zero?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55978382/