Top.Mail.Ru
Ответы

ПОМОГИТЕ НАЙТИ ОШИБКУ В ЗАДАНИИ 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".
Вот исправленный вариант вашего кода:

12345678910
 a = input()  
b = "YES" 
 
for i in a:  
    if not ('0' <= i <= '9'):  
        b = "NO" 
        break 
 
print(b) 
 
Аватар пользователя
Ученик

Спасибо!

Аватар пользователя
Гений
1
 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"

Аватар пользователя
Ученик

Спасибо!

Аватар пользователя
Мудрец
123456789101112
 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") 


Видео по теме