Форум сайта python.su
0
Есть скрипт, суть такова:
Водится номер, состоящий из # и цифр.
Необходимо удалить все # и проинтовать все цифры.
Делаю так:
Full_number = list(input("Номер, полученный из станций ")) Full_number_without=[] for x in Full_number: if x=="#": Full_number.remove(x) else: x=int(x) Full_number_without.append(x) print(Full_number_without)
#25#45
[5, 5]
Офлайн
5
Full_number = input("Номер, полученный из станций ") Full_number_without=[] for x in Full_number: if x!="#": x=int(x) Full_number_without.append(x) print(Full_number_without)
Офлайн
Я не очень понял все эти преобразования, что делает код, но так будет проще :)
original_number = input('What the number?')
fixed_digits = []
for x in original_number:
if x != '#':
fixed_digits.append(x)
print ''.join(fixed_digits)Офлайн
Можно ещё так :)
print ''.join((x for x in input('What the number?') if x != '#'))Офлайн
0
Большое всем спасибо за оперативность!
И все таки, а почему он работал неправильно?
Офлайн
26
chigiwar
Большое всем спасибо за оперативность!
И все таки, а почему он работал неправильно?
Офлайн
857
lorien
Можно ещё так :)print ''.join((x for x in input('What the number?') if x != '#'))
print input('What the number?').replace('#', '')
>>> def f(): ... s = input('num: ') ... lst = list(map(int, s.replace('#', ''))) ... return lst ... >>> f() num: #25#45 [2, 5, 4, 5] >>>
Офлайн
36
s = input('What the number?') result = list(map(int, s.split("#")[1:]))
Офлайн