Я пытаюсь настроить приведенный ниже код, чтобы попросить пользователя ввести два целых числа (num_sides & num_rolls). Если пользователь не вводит целое число для ввода, тогда код должен распечатать инструкцию «Введите целое число».Python: If ... и ... не работает как ожидалось
Я нахожу, что этот код проверяет только num_sides, но не проверяет, является ли num_rolls целое число. Что тут происходит?
Заранее благодарим за вашу помощь!
def rolldice():
while True:
while True:
num_sides = input("Enter number of sides for die: ")
num_rolls = input("Enter number of rolls for die: ")
try:
if int(num_sides) != num_sides or int(num_rolls) != num_rolls:
break
break
except(ValueError):
print("Enter an integer")
True
Какая странная петля. Во-первых, 'num_sides' переводится в' int' и сравнивается с его оригинальной формой (строкой), которая никогда не будет 'True'. – Makoto
Почему у вас есть 'break' как внутри, так и снаружи вашего 'if'? И что вы ожидали от «Истины» на одной линии, чтобы сделать для вас? – user2357112
Некоторые ответы просто проверяют, могут ли они * быть добавлены * в 'int'. Вы также пытаетесь проверить, являются ли числа целыми числами, или это не важно? Я имею в виду, если кто-то помещает в 3.3, вы хотите, чтобы он выдавал исключение (проверяли, является ли число целым числом *) или просто переданы в 3 (как это делают текущие ответы)? – leekaiinthesky