为了账号安全,请及时绑定邮箱和手机立即绑定

验证字符串的最简单方法是它需要多少位数并且都是整数?

验证字符串的最简单方法是它需要多少位数并且都是整数?

Helenr 2022-05-19 16:06:20
我必须验证字符串是 4 位还是 6 位。字符串不能包含任何字符,只能包含整数。如果满足条件则返回真,否则返回假。我尝试创建一个包含可接受数字的列表并遍历字符串并进行比较。如果字符串的任何部分不在可接受的列表中,我将退出循环并返回 false。如果运行总数等于 4 或 6,那么它应该是真的。蟒蛇代码:def validate(n):   count = 0   valid_list = list(range(10))   for digit in pin:      if digit not in valid_list:         return False      count += 1我不确定为什么像 1234 这样的东西被返回为 False。
查看完整描述

2 回答

?
一只甜甜圈

TA贡献1836条经验 获得超5个赞

用正则表达式怎么样?


import re

str="03506"

pattern="[0-9]{4,6}"

prog=re.compile(pattern)

result=prog.match(str)    

if result:

    return True

else:

    return False

这匹配长度在 4 到 6 个字符之间的数字。如果您的意思是要匹配那些 4 或 6 长的字符串,您可以尝试


import re

str="03506"

pattern1="[0-9]{4}"

pattern2="[0-9]{6}"


if re.match(pattern1,str) or re.match(pattern2, str):

    return True

else:

    return False


查看完整回答
反对 回复 2022-05-19
?
手掌心

TA贡献1942条经验 获得超3个赞

我不确定为什么像 1234 这样的东西被返回为 False。

Python 永远不会在整数和字符串之间进行隐式转换,并且整数和字符串之间的比较总是错误的。

“valid_list”是一个整数列表,但“digit”是一个字符串,所以你永远不会在你的列表中找到任何东西。


查看完整回答
反对 回复 2022-05-19
  • 2 回答
  • 0 关注
  • 143 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号