2013-09-10 6 views
0

저는 파이썬의 초보자이며 다음과 같은 문제에서 손을 썼습니다. 사용자가 입력 한 숫자를 추가하고 싶습니다. 여기에 내가 빈 입력 할 때 프로그램을 종료 할 내 프로그램Python 2.7, 구문 분석 중에 예기치 않은 EOF가 발생했습니다.

add = 0 
num = input('Enter a number:') 
add = add + num 
while num != ' ' : 
    num = input('Next number:') 
    add = add + num 
    print add 

입니다. 그래서 문제가 4 행에 있다는 것을 압니다. 올바른 구문은 무엇입니까? 당신의 도움에 미리

덕분에

답변

0

보십시오 다음과 비트를 읽어 보시기 바랍니다. EOF 에러를 반환 분명

eval(raw_input(prompt)) 

eval('') 

: 파이썬 2.7 사용자 입력에

>>> help(input) 

>>> help(raw_input) 

>>> s=raw_input() 
<return right here> 
>>> s 
'' 
>>> s=raw_input() 
<one space followed by return here> 
>>> s 
' ' 
>>> 
1

input는 의미 적으로 동등하기 때문이다 raw_input

를 사용하여 처리해야 구문 분석하는 동안 .

raw_string은 문자열을 int로 구문 분석하지 않으므로 추가 할 때 int()을 사용하여 변환해야합니다.
는 또한 잠시 문을 변경해야

add = 0 
num = raw_input('Enter a number:') 
# you cant do a + here what if the user hits enter right away. 
if num: 
    add = int(num) 

while num: # enter will result in a null string not a space 
    num = raw_input('Next number:') 
    if num: 
     add = add + int(num) 
    print add 
+0

덕분에,이 작품. –

관련 문제