Member 13180541 Ответов: 1

Почему сравнение 2-х переменных не работает?


в операторах if было сказано: if comp = = Guess:
печать " ты победил!"
не действовать. появляется только сообщение tat: "ваш номер больше, чем компьютеры". даже если они равны. пожалуйста, объясните, что я делаю не так. вот мой код.

Что я уже пробовал:

импорт случайный
печать "добро пожаловать в мою игру в угадайку"
comp = (random. randint(1,10))
деф думаю():
Guess = raw_input ("выберите число между 1-10")
если угадать = = "1" или угадать = = "2" или угадать = = "3" или угадать = = "4" или угадать = = "5" или угадать = = "6" или угадать = = "7" или угадать = = "8" или угадать = = "9" или угадать = = " 10":
если comp = = Угадай:
печать " Ты победил!!"
Элиф комп &ЛТ; думаю,:
печать " Ваш номер больше, чем компьютеры"
elif comp & gt; Угадай:
печать " Ваш номер меньше, чем компьютер"
ещё:
печать " к сожалению, выбор не был выбран"
Для _ в диапазоне (3):
догадываться()
печать "номер компьютера был %s" % comp

1 Ответов

Рейтинг:
2

Patrice T

Ваша проблема в том, что comp это целое число и guess это строка.
Вам нужно преобразовать входные данные в целое число, чтобы сравнить обе переменные.

Когда вы не понимаете, что делает ваш код или почему он делает то, что делает, ответ таков: отладчик.
Используйте отладчик, чтобы увидеть, что делает ваш код. Просто установите точку останова и посмотрите, как работает ваш код, отладчик позволяет вам выполнять строки 1 на 1 и проверять переменные по мере их выполнения, это невероятный инструмент обучения.
Отладчик-Википедия, свободная энциклопедия[^]
27.3. ПДБ — отладчика Python — питон 3.6.1 документации[^]
Отладка в Python | Python покоряет Вселенную[^]
pdb-интерактивный отладчик-Python модуль недели[^]
Отладчик здесь для того, чтобы показать вам, что делает ваш код, и ваша задача-сравнить его с тем, что он должен делать.
В отладчике нет никакой магии, он не находит ошибок, он просто помогает вам. Когда код не делает того, что ожидается, вы близки к ошибке.