다음 코드에서 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'있어 정수로,'map'은 필요 없습니다; 'x'가리스트라면 그렇지 않습니다. 그래서 두번째 라인에서'list' 콜을 제거해야합니다. – Kevin
입력에 어떤 형식이 필요합니까? ''1 2 3 4 -999 ''를 한 줄에 입력하거나 별도의 입력으로 사용할 수 있습니까? 'list ("- 999") == [ '-', '9', '9', '9']'에주의하십시오. – jonrsharpe
'raw_input'은 문자열을 반환하기 때문에'list (raw_input (...))'는 그 문자열을 원래 문자열의 문자를 포함하는리스트로 나눕니다. – chepner