Найти - Пользователи
Полная версия: Почему скрипт работает не так, как вроде бы должен?
Начало » Python для новичков » Почему скрипт работает не так, как вроде бы должен?
1
chigiwar
Есть скрипт, суть такова:
Водится номер, состоящий из # и цифр.
Необходимо удалить все # и проинтовать все цифры.
Делаю так:
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]
Singularitty
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)
lorien
Я не очень понял все эти преобразования, что делает код, но так будет проще :)
original_number = input('What the number?')
fixed_digits = []
for x in original_number:
if x != '#':
fixed_digits.append(x)

print ''.join(fixed_digits)
lorien
Можно ещё так :)
print ''.join((x for x in input('What the number?') if x != '#'))
chigiwar
Большое всем спасибо за оперативность!
И все таки, а почему он работал неправильно?
ajib6ept
chigiwar
Большое всем спасибо за оперативность!
И все таки, а почему он работал неправильно?

все дело в remove
#25#45
при первой итерации удаляем первый символ, получается 25#45
при второй итерации идет сравнение со вторым символов, который будет равен 5, а не 2 и т.д.
py.user.next
lorien
Можно ещё так :)
print ''.join((x for x in input('What the number?') if x != '#'))

это написано
print input('What the number?').replace('#', '')

и оно не работает нормально, потому что там нужен raw_input()

>>> def f():
...     s = input('num: ')
...     lst = list(map(int, s.replace('#', '')))
...     return lst
... 
>>> f()
num: #25#45
[2, 5, 4, 5]
>>>
pyuser
s = input('What the number?')
result = list(map(int, s.split("#")[1:]))
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