请编写一个用户输入信息检测程序,当不符合要求时提示“输入非法,重新输入!”,直到符合要求时输出“GoodLuck!”后结束。 要求如下: 1.只能输入数字且总长度为十一位。 2.开头只能是:130,131,132,133,134,135,136,137,138,139,150,151,152,153,154,155,156,157,158,159,166,180,181,182,183,184,185,186,188,199。 3.以上两个条件,请分别设计两个函数isken()和ishead()进行判断。 python
时间: 2023-09-11 18:08:41 浏览: 37
可以使用Python的正则表达式模块re来实现输入信息的检测。以下是一个示例代码:
```python
import re
def isken(s):
# 判断是否为11位数字
if not re.match(r'^\d{11}$', s):
return False
return True
def ishead(s):
# 判断开头是否符合要求
if not re.match(r'^(130|131|132|133|134|135|136|137|138|139|150|151|152|153|154|155|156|157|158|159|166|180|181|182|183|184|185|186|188|199)', s):
return False
return True
# 进入循环,直到输入符合要求为止
while True:
s = input('请输入手机号码:')
if isken(s) and ishead(s):
print('GoodLuck!')
break
else:
print('输入非法,重新输入!')
```
代码中定义了两个函数,分别用于判断输入字符串是否为11位数字和开头是否符合要求。在主函数中,使用循环来不断读取用户输入,并调用这两个函数进行判断,直到输入符合要求为止。
相关问题
请编写一个用户输入信息检测程序,当不符合要求时提示“输入非法,重新输入!”,直到符合要求时输出“GoodLuck!”后结束。 要求如下: ①输入的字符串必须由数字+字母组合 ②字符串长度不小于8 ③以上两个条件请分别设计2个函数isok()和islen()进行条件判断
好的,我可以为您编写这个程序。以下是程序代码:
```python
def isok(s):
# 判断字符串是否由数字和字母组合
if s.isalnum():
return True
else:
return False
def islen(s):
# 判断字符串长度是否不小于8
if len(s) >= 8:
return True
else:
return False
while True:
# 循环输入,直到输入符合要求
s = input("请输入字符串:")
if isok(s) and islen(s):
print("GoodLuck!")
break
else:
print("输入非法,重新输入!")
```
这个程序中,我们定义了两个函数isok()和islen(),分别用于判断字符串是否由数字和字母组合以及字符串长度是否不小于8。在主程序中,我们使用while循环不断输入字符串,直到输入符合要求时输出“GoodLuck!”并结束程序。如果输入不符合要求,则输出“输入非法,重新输入!”提示用户重新输入。
请编写一个用户输入信息检测程序,当不符合要求时提示“输入非法,重新输入!”,直到符合要求时输出“Good Luck!”后结束。要求如下: 输入的字符串必须由数字+字母组合 字符串长度不小于8 以上两个条件请分别设计2个函数isok()和islen()进行条件判断。
好的,以下是代码实现:
```python
def isok(s):
"""
判断字符串是否由数字和字母组成
"""
for c in s:
if not c.isalnum():
return False
return True
def islen(s):
"""
判断字符串长度是否小于8
"""
if len(s) < 8:
return False
return True
def main():
while True:
s = input("请输入字符串:")
if isok(s) and islen(s):
print("Good Luck!")
break
else:
print("输入非法,重新输入!")
if __name__ == '__main__':
main()
```
在主函数中,我们使用了一个 while 循环,不断地要求用户输入字符串,然后调用 isok() 函数和 islen() 函数进行判断。如果两个函数都返回 True,那么说明字符串符合要求,输出 "Good Luck!" 后结束循环。如果其中有一个函数返回 False,那么说明字符串不符合要求,输出 "输入非法,重新输入!" 提示用户重新输入。