(3) 请Python编写一个用户输入信息检测程序,当不符合要求时提示“输入非法,重新输入!”,直到符合要求时输出“Good Luck!”后结束。要求如下: 1、输入的字符串必须由数字+字母组合 2、字符串长度不小于8 3、以上两个条件请分别设计2个函数isok()和islen()进行条件判断。
时间: 2024-03-12 22:46:47 浏览: 21
好的,我可以帮你编写这个程序,以下是代码实现:
```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("Good Luck!")
break
else:
print("输入非法,重新输入!")
```
程序中定义了两个函数isok()和islen(),分别用于判断字符串是否由数字和字母组合以及字符串长度是否不小于8。在主函数中使用while循环不断接受用户输入,如果输入符合要求则输出“Good Luck!”并跳出循环,否则输出“输入非法,重新输入!”并继续循环等待用户重新输入。
相关问题
python编写一个用户输入信息检测程序,当不符合要求时提示 “输入非法,重新输入!”,直到符合要求时输出 “Good Luck!〞 后结束。 要求如下: ①输入的字符串必须由数字+字母组合。 ②字符串长度不小于 8 ③以上两个条件请分别设计 2个函数 isok(和 islen0进行条件 判断。
好的,以下是 Python 版本的代码示例:
```
def isok(s):
has_digit = False
has_alpha = False
for c in s:
if c.isdigit():
has_digit = True
elif c.isalpha():
has_alpha = True
else:
return False
return has_digit and has_alpha
def islenok(s):
return len(s) >= 8
while True:
s = input("请输入字符串:")
if not isok(s) or not islenok(s):
print("输入非法,重新输入!")
else:
print("Good Luck!")
break
```
程序中定义了两个函数 isok 和 islenok,分别用于判断输入字符串是否符合要求。isok 函数用于判断字符串是否由数字和字母组成,islenok 函数用于判断字符串长度是否不小于 8。
在主程序中,使用 while 循环不断读入用户输入的字符串,如果不符合要求则输出提示信息,直到符合要求时输出 Good Luck 并结束程序。
(3)请编写一个用户输入信息检测程序,当不符合要求时提示“输入非法,重新输入!”,直到符合要求时输出“Good Luck!”后结束。要求如下: 输入的字符串必须由数字+字母组合 字符串长度不小于8 以上两个条件请分别设计2个函数isok()和islen()进行条件判断。
好的,以下是 Python 代码实现:
```python
def isok(s):
"""
判断输入的字符串是否由数字和字母组合
"""
for c in s:
if not c.isdigit() and not c.isalpha():
return False
return True
def islen(s):
"""
判断输入的字符串长度是否不小于8
"""
return len(s) >= 8
# 主程序
while True:
user_input = input("请输入字符串:")
if isok(user_input) and islen(user_input):
print("Good Luck!")
break
else:
print("输入非法,重新输入!")
```
程序会一直循环,让用户输入字符串。每次输入后,程序会先调用 `isok()` 函数判断输入的字符串是否由数字和字母组合,如果不符合条件,输出“输入非法,重新输入!”并让用户重新输入;如果符合条件,再调用 `islen()` 函数判断输入的字符串长度是否不小于8,如果也符合条件,则输出“Good Luck!”后结束循环。
运行结果类似如下:
```
请输入字符串:123abc
输入非法,重新输入!
请输入字符串:abc123456
Good Luck!
```