2016-10-26 93 views
1

在這個程序中,我試圖讓它在while循環中的變量integer_enter將繼續分配整數,直到輸入0爲止。每次運行代碼時,我都會在「integer_enter = int(input())」行中發生EOF錯誤。爲什麼會這樣?在while循環中定義一個變量沒有問題,爲什麼我會得到這個錯誤?while循環內的輸入函數

代碼以供參考:

list_num = [ ] 
count_even = 0 

loop_condition= True 

while(loop_condition == True): 
    integer_enter= int(input()) 
    integer_append= list_num.append(integer_enter) 
    if(integer_enter % 2 == 0): 
     count_even += 1 
    elif(integer_enter == 0): 
     loop_condition = False 




print('The number of even integers is %d' % count_even) 

print(list_num) 
+0

while循環永遠不會停止,因爲'0%2 == 0' – LittleQ

+0

只有當integer_enter等於一個正數,對吧? –

+0

順便說一句,'integer_append是None'將始終爲真,因爲'list.append'不會返回任何東西。 –

回答

1

你需要修改你的條件循環終止。當integer_enter0時,您需要確保您的if未被執行。 This是您的代碼的工作鏈接。

list_num = [ ] 
count_even = 0 

loop_condition= True 

while(loop_condition == True): 
    integer_enter= int(input()) 
    integer_append= list_num.append(integer_enter) 
    if(integer_enter % 2 == 0 and integer_enter != 0): 
     count_even += 1 
    elif(integer_enter == 0): 
     loop_condition = False 




print('The number of even integers is %d' % count_even) 

print(list_num) 
+0

謝謝。我忘了0%2也等於0。 –