我试图在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