从int(input())python 3中删除EOF错误?

时间:2018-03-18 01:35:51

标签: python python-3.x

我试图在HackerRank中制作一个模式,据我所知,我的解决方案有效。

size = int(input())
letters = 'abcdefghijklmnopqrstuvwxyz'
for i in range(size):
    textp = "-".join(letters[size - 1: size - (1 + i): -1])
    textn = "-".join(letters[size - i: size: 1])
    print(textp.rjust(size + 2, '-') + '-' + letters[size - (1 + i)] + '-' + textn.ljust(size + 2, '-'))
for i in range(size - 2, -1, -1):
    textp = "-".join(letters[size - 1: size - (1 + i): -1])
    textn = "-".join(letters[size - i: size: 1])
    print(textp.rjust(size + 2, '-') + '-' + letters[size - (1 + i)] + '-' + textn.ljust(size + 2, '-')) 

打印出来:

--------e--------
------e-d-e------
----e-d-c-d-e----
--e-d-c-b-c-d-e--
e-d-c-b-a-b-c-d-e
--e-d-c-b-c-d-e--
----e-d-c-d-e----
------e-d-e------
--------e--------

但是当我尝试提交时,我得到了

File "solution.py", line 12, in <module>
n = int(input())
EOFError: EOF when reading a line

我是python的新手,所以我不确定如何解决此错误。代码工作正常,我不明白为什么input()函数搞乱了。

1 个答案:

答案 0 :(得分:1)

好的,所以我想通了。解释器底部有一个小标签,上面有这段代码:

if __name__ == '__main__':
   n = int(input())
   print_rangoli(n)

我必须删除size = int(input()),我必须将代码包含在名为print_ragnoli(s)

的函数中