Как исправить ZeroDivisionError: Деление на ноль? - PullRequest
0 голосов
/ 04 мая 2019

После запуска кода я получаю 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))

1 Ответ

0 голосов
/ 04 мая 2019

Вам необходимо заменить bcount == 1 на bcount += 1.bcount == 1 - логическое утверждение, которое здесь ничего не делает.Кажется, что вы хотите увеличить счет в этой точке.

Кроме того, даже после этого может быть ZeroDivisionError, так как может быть, что вход никогда не был b или g.Я бы порекомендовал иметь условие if, прежде чем пытаться разделить при печати. ​​

...