Как проверить, что число состоит из цифр от 0 до 5?
Необходимо проверить число, если оно состоит из цифр от 0 до 5, то вывести Ok, если есть число больше то NO.
Например 12542 - YES, 12571 - NO.
Вот мой код:
def spc(number: int) -> str:
number_str = str(number)
for i in number_str[0:]:
if int(i) <= 5:
print('Special!!')
else:
print('NOT!!')
spc(13271)
А что ты хотел? Есть цикл по цифрам и в каждой итерации цикла делается print.
Подскажу: идём по циклу, если встречаем цифру больше 5, то дальше цикл не имеет смысла, ответ уже известен. Если мы дошли до конца цикла и ни разу не встретили цифру больше 5, то становится известен другой ответ.
99sun66, завести переменную result = "YES", которую в цикле поменять на "NO" если будет цифра больше 5. В конце если ни одна цифра не будет больше 5, то переменная не поменяет значение.
Чего же вы так читать не любите
Строки это итерируемые неизменяемые объекты поэтому срезы не нужны
def check_number(number):
for i in number:
if int(i)>5:
return False
return True
number = input("Input number: ")
if check_number(number):
print("OK")
else:
print("NO")
Я похожий вариант пробовал, но с принт, а он выдавал
NO
Yes
Я и подумал, что не верно.
Просто, только учусь и все результаты смотрю через принт, и так понял что, он просто выдаст, то что попросил, а не правильный результат