2017-09-14 49 views
0

我正在努力解決學校問題,他們給出了識別ISBN號碼是否有效的方程式,並給出了10個輸入(數字)和最後的停止輸入。如何在python中不輸出任何輸出

這是我的代碼:

a=str(input()) 
b=int(input()) 
c=int(input()) 
d=int(input()) 
e=int(input()) 
f=int(input()) 
g=int(input()) 
h=int(input()) 
i=int(input()) 
j=int(input()) 
u=input() #this is where stop is usually at 
if j==int((int(a)+(2*b)+(3*c)+(4*d)+(5*e)+(6*f)+(7*g)+(8*h)+(9*i))%11): 
    print("OK") 
elif j!=int((int(a)+(2*b)+(3*c)+(4*d)+(5*e)+(6*f)+(7*g)+(8*h)+(9*i))%11): 
    print("WRONG") 
elif a=="stop": 
    print("") 

的最後兩行那裏,因爲其中一個答案只是一個線路輸入:「停止」。在這種情況下,代碼不應該給出任何輸出,但是我的代碼不起作用,並且由於只有一個輸入,它會在代碼的第二行發出EOF。我該如何做這項工作?

+0

請修復您的縮進! – Julien

+2

嘗試使用鉛筆和紙張處理邏輯,然後將其轉換爲您的代碼。你真的需要自己弄清作業。 – wwii

+0

爲什麼不使用[input function](https://docs.python.org/3/library/functions.html#input)提示? – wwii

回答

0

j要麼等於int((int(a)+(2*b)+(3*c)+(4*d)+(5*e)+(6*f)+(7*g)+(8*h)+(9*i))%11)(這btw你不必計算兩次......),或不是。所以elif a=="stop":永遠不會到達。首先測試a=="stop"

+0

我試過了,但它仍然在第2行給我eof – Kiki

+0

第一件事:' a = str(input())'然後立即(即在第2行)測試'a ==「stop」' – Julien

+0

嘗試了它,現在它在第3行給我eof而不是2 – Kiki