Почему я получаю сообщение об ошибке с помощью функции map() в следующем коде? Почему нельзя преобразовать отрицательные числа в список x
. Выход должен быть как «1 -> 2 -> 3». Список должен заканчиваться при вводе -999
. Я получаю сообщение об ошибке, таких как:Python map() function
Traceback (most recent call last):
File "c2.py", line 3, in <module>
x=map(int,x)
ValueError: invalid literal for int() with base 10: '-'
Код:
while(1):
x=list(raw_input("Input a number\n(type -999 to end);"))
x=map(int,x)
if x<0:
break
pass
print x
del x[len(x)]
for i in range(0,(len(x))):
print "%d-->" %(x[i]),
'Int (х)' действительно преобразует 'x' к целому числу, не требуется «карта»; но не если 'x' - это список. Поэтому вы также должны удалить вызов «list» во второй строке. – Kevin
Какой формат должен принимать вход? '" 1 2 3 4 -999 "' на одной строке или на отдельные входы? Обратите внимание, что 'list (" - 999 ") == ['-', '9', '9', '9']'. – jonrsharpe
Так как 'raw_input' возвращает строку,' list (raw_input (...)) 'переломит эту строку в список, содержащий символы исходной строки. – chepner