ПОМОГИТЕ НАЙТИ ОШИБКУ В ЗАДАНИИ PYTHON!
Сафия начала ходит в школу IQ. Там ее познакомили с буквами и цифрами. Однако эти циферки все никак ей не даются. Сафие нужна помощь.
Помогите Сафие определить, состоит ли строка полностью из цифр.
Входные данные
Дана строка.
Выходные данные
Вывести «YES», если строка состоит из цифр, иначе вывести «NO».
a = input()
for i in a:
if not ('0' <= i <= '9'):
b = "NO"
else:
b = "YES"
break
print(b)
Вот мой код, надо сделать так что бы при введении переменной, где есть и буквы и цифры писалось "NO".
В вашем коде есть несколько ошибок, которые нужно исправить:
Проверка внутри цикла должна продолжаться до тех пор, пока не найдена буква.
Переменная b должна быть инициализирована вне цикла, и изменяться только при нахождении нецифрового символа.
Если строка содержит буквы и цифры, нужно выводить "NO", а если только цифры, то "YES".
Вот исправленный вариант вашего кода:
a = input()
b = "YES"
for i in a:
if not ('0' <= i <= '9'):
b = "NO"
break
print(b)
Спасибо!
print(['NO', 'YES'][input().isdigit()]) Встроенный в Python метод isdigit() проверяет, что все символы строки являются цифрами. А дальше False автоматически преобразуется в 0, а True - в 1 (слабая типизация). Цикл не нужен.
Спасибо!
b=0
c=0
if i>'0' and i<'9':
b=1
else:
if i>'a' and i<'z':
c=1
else:
if i>'а' and i<'я': # и для больших букв аналогично
c=1
if b=1 anf c=1:
d="YES"
else:
d="NO"
Спасибо!
a = input() # Вводим строку
is_digit = True # Предполагаем, что вся строка состоит из цифр
for i in a:
if not ('0' <= i <= '9'):
is_digit = False # Если находим нецифровой символ, устанавливаем флаг в False
break # Прерываем цикл, так как уже знаем, что строка не целиком из цифр
if is_digit:
print("YES")
else:
print("NO")