python - validate_pin 练习,不要知道我错在哪里,或者我是否是好赛道
问题描述
大家好,我正在尝试从 py 中的 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
我是初学者,到目前为止我不知道是否可以,任何帮助/提示/建议表示赞赏
解决方案
正确的规格是
ATM 机允许 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
推荐阅读
- java - Google 自定义搜索 API:已超出未经验证使用的每日限制。继续使用需要注册
- excel - Localbitcoins 认证的 HTTP POST 请求错误
- python - 如何使 OpenCv 结合两个颜色通道显示图像?
- html - 将css导航到div元素中的元素
- c++ - C++ 以浮点数形式读取 CSV 文件
- html - 如何将图像转换为 bufferedArray
- laravel - Vue.js | 组件不工作。| 未知的自定义元素:
- apache - 使用 apache 的 Odoo 工作人员
- flutter - Flutter:从 Streambuilder 更新 AppBar 标题?
- python - 在 PyQt QAction 菜单中右对齐 QKeySequence