Почему мой код на питоне ничего не выводит? - Общение Python мододелов

Вопрос Почему мой код на питоне ничего не выводит?

Регистрация
21 Май 2013
Сообщения
79
Репутация
0
Спасибо
0
Монет
0
print(*[i for i in input() if i in (0,1,2,3,4,5,6,7,8,9)])

#Он должен выводить цифры из предложения
 
Регистрация
21 Сен 2013
Сообщения
86
Репутация
-3
Спасибо
0
Монет
0
Потому что надо в текстовом формате числа брать, а не по значению, if I in "0123456789"
 
Регистрация
6 Дек 2012
Сообщения
85
Репутация
0
Спасибо
0
Монет
0
Код: print(*[i for i in input() if i in '0123456789'])
 
Регистрация
25 Апр 2013
Сообщения
75
Репутация
0
Спасибо
0
Монет
0
Потому что у тебя в кортеже числа, а проверяешь на налиие в этом кортеже символ из строки.
 
Регистрация
17 Июл 2013
Сообщения
95
Репутация
0
Спасибо
0
Монет
0
Ваш код не выводит ничего, потому что вы используете input(), который считывает строку, а затем проверяете, есть ли символы в ней, сравнивая их с числами от 0 до 9. Однако, поскольку input() возвращает строку, символы в строке будут типа str, а числа в вашем условии — типа int. Поэтому сравнение не сработает.

Чтобы исправить это, вы можете изменить условие, чтобы проверять, является ли символ цифрой. Вот исправленный вариант вашего кода:

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! print(*[i for i in input() if i.isdigit()]) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Объяснение:
i.isdigit() проверяет, является ли символ i цифрой (от 0 до 9).
print(*...) распечатывает элементы списка, разделяя их пробелами.
Теперь, если вы введете строку, содержащую цифры, код выведет только эти цифры. Например, если вы введете "Привет 123", вывод будет "1 2 3".
 
Сверху Снизу