EOFError:读取一行时的EOF。这是什么错误,为什么会发生?

时间:2018-06-04 00:34:24

标签: python

如果用户输入的引脚长度为4或6,我想编写一个打印True的函数。我写了这个函数,但是当我运行它时会输出这个错误。如何解决此错误以及首先出现的问题?

pin = raw_input("Please enter your four or six digit pins")


def validate_pin(pin):
    if len(pen) == 4 or 6:
        purp =  True
    else:
        purp = False
    return(purp)
    print purp

validate_pin(pin)


Traceback (most recent call last):
  File "main.py", line 1, in <module>
    from solution import *
  File "/home/codewarrior/solution.py", line 1, in <module>
    pin = input("Please enter your four or six digit pins")
EOFError: EOF when reading a line

1 个答案:

答案 0 :(得分:0)

您的代码中存在多个错误,但是,我无法创建您的特定错误消息。很可能你的raw_input失败了。

这是您的固定代码:

pin = raw_input("Please enter your four or six digit pins")

def validate_pin(pin):
    if len(pin) in [4, 6]:
        # your old code results in two boolean statements
        # 1) len(pin) == 4, this correctly checks for a length of 4
        # 2) or 6, this is always true, result in your if statement
        #    always being true
        purp =  True
    else:
        purp = False
    print purp
    # if your print statement comes after a return statement,
    # it is never executed
    return(purp)

validate_pin(pin)