Уже определен как int, но все еще определяется как NoneType - PullRequest
0 голосов
/ 13 июля 2020

У меня ошибка:

Traceback (most recent call last):
  File "c:/Users/Owen/Desktop/Python/BlackJack.py", line 281, in <module>
    main()
  File "c:/Users/Owen/Desktop/Python/BlackJack.py", line 230, in main
    while money > 0:
TypeError: '>' not supported between instances of 'NoneType' and 'int'

Но я уже определил переменную как int

def main():
    money = int(1000)
    while money > 0:
        if len(cards) <= 13:
            print("No Card")
            print("Money:", money, " Bet: 100\n")
            exit()
        else:
            print(len(cards))

Почему система до сих пор определяет «деньги» как NoneType? Спасибо.

1 Ответ

1 голос
/ 13 июля 2020

Указанная вами переменная money уже является целым числом, и поэтому нет необходимости писать int(1000). Следующее, что находится внутри while l oop, вы нигде не увеличиваете или не уменьшаете переменную money, и, следовательно, условие while while money > 0: всегда истинно, что приведет к бесконечному l oop. Внутри условия if вы сохранили exit(), так что после первого входа в условие if он сломает l oop, тогда как, если он каждый раз приходит к части else, l oop не останавливается, так как money = 1000 всегда больше 0. Пожалуйста, проверьте, требуется ли l oop согласно требованиям.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...