Найти - Пользователи
Полная версия: в чем ошибка?
Начало » Python для новичков » в чем ошибка?
1
gnom
надо введеное число разбить на элементы
вот мой код:
#!/usr/bin/python
# -*- coding: utf-8 -*-
a = int(input("Введите, пожалуйста, целое число: "))
b = list(a)
print list(a)
где тут ошибка?
grok
Так делай:
#!/usr/bin/python
# -*- coding: utf-8 -*-
a = int(input("Введите, пожалуйста, целое число: "))
b = list(str(a))
print (b)
Учти, работать потом с элементами списка, как с числами, ты не сможешь…
maxwell
#!/usr/bin/python
# -*- coding: utf-8 -*-
num = int(input("Введите, пожалуйста, целое число: "))
l = []

while num:
num, d = divmod(num, 10)
l.append(d)
print l
Смысл прост — смотрим остаток от деления на 10 => сохраняем в массив, и само число делим (целочисленно) на 10, чтобы «убрать» младший разряд
Только, num будет потерян.
imaksimus
а разве input не возвращает фактическое значение? зачем int(input())?
и разве не проще сделать for item in str(num): l.append(item)?
да и тогда проще сразу не input() юзать, а raw_input(), который как раз строку возвращает
maxwell
imaksimus, проще строкой, но иногда в задачах явно говорят — все данные хранить в интах.
Во всяком случае, если использовать строки, то смысл и так несложной задачи теряется напрочь.
imaksimus
ну так input() вернет вам число, если введено число, а вы его еще зачем-то int-ом оборачиваете
maxwell
imaksimus, копи-паст зло, на самом деле я ни разу не работал с вводом/выводом с клавиатуры в питоне. :-)
cutwater
собственно input зло в 2.x python. НЕ используйте его. необходимо использовать raw_input. Вернет строку.
В 3.x raw_input переименован в input
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB