validate_pin练习——我不明白我错在哪里,或者我是否是好赛道



我试图在Python中运行Codewars中的validate_pin代码。

def validate_pin(atm):
if len(atm) != 4 and len(atm) != 6:
for i in atm:
if i not in ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0']:
return False
break
else:
return True

it Is OK or not?

正确的规格是

自动取款机允许4位或6位数字的PIN码,PIN码只能包含4位或6位数字。

所以你的第一个if是错误的。您可能只接受4或6长度的pin,不接受其他尺寸。然后在你的循环中,找到一个有效的数字并不使PIN有效。您需要检查所有的人物能够肯定的是,等等。

def validate_pin(atm):
if len(atm) != 4 and len(atm) != 6:
return False
for i in atm:
if not i.isdigit():
return False
return True

相关内容

最新更新