2017-09-14 26 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