要求用户通过键盘分别输入用户名,手机号,密码,确定密码,要求用户名不能为空,手机号位数为11位,且由数字组成,密码中不能包含#.@符号,且由大小写字母组成,确认密码性和输入的密码一致,用异常处理语句
时间: 2024-10-13 18:13:02 浏览: 22
在Python中,你可以编写这样的程序来获取用户的输入并进行有效性验证,同时使用异常处理来确保满足条件:
```python
def get_user_info():
while True:
try:
username = input("请输入用户名(不能为空): ")
if not username:
raise ValueError("用户名不能为空")
phone = input("请输入手机号(11位数字): ")
if not re.match(r'^\d{11}$', phone):
raise ValueError("手机号格式错误")
password = input("请输入密码(不能包含#,@字符,由大小写字母组成): ")
if '#' in password or '@' in password or not re.match('^[A-Za-z0-9]*$', password):
raise ValueError("密码不符合要求")
confirm_password = input("请再次输入密码以确认: ")
if password != confirm_password:
raise ValueError("两次输入的密码不一致")
break
except ValueError as e:
print(f"输入错误: {str(e)}")
continue
return username, phone, password, confirm_password
if __name__ == "__main__":
username, phone, password, confirm_password = get_user_info()
print(f"成功收集到信息: 用户名={username}, 手机号={phone}, 密码={password}")
```
在这个示例中,`try-except`块用于捕获可能出现的`ValueError`异常,如果用户输入不符合要求,会显示相应的错误提示,并循环要求用户重新输入。
阅读全文