如果用户输入的引脚长度为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
答案 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)