使用python进行用户名输入和匹配-(卡在while循环中)
我想创建一个基于类的用户注册门户,为此我想添加一些用户名。但是如果它们已经被获取,那么代码应该提示 用户添加另一个用户名,我尝试使用此代码使用python进行用户名输入和匹配-(卡在while循环中),python,database,class,while-loop,Python,Database,Class,While Loop,我想创建一个基于类的用户注册门户,为此我想添加一些用户名。但是如果它们已经被获取,那么代码应该提示 用户添加另一个用户名,我尝试使用此代码 a=0 User=['name123'] username=raw_input("Enter username : ") while a==0: for i in User: if i==username: a=0 break else: a=1 if a==0:
a=0
User=['name123']
username=raw_input("Enter username : ")
while a==0:
for i in User:
if i==username:
a=0
break
else:
a=1
if a==0:
usernarme=raw_input("Username already taken.\nEnter another username :")
但它陷入了循环,并反复显示以下消息
即使输入了有效的用户名。我做错了什么
“用户名已被占用”
这将解决循环中的所有问题
User=['name123']
username=raw_input("Enter username : ")
while username in User:
username=raw_input("Username already taken.\nEnter another username :")
另外,我强烈建议您阅读和这里是一个更具python风格的代码版本,它更容易理解和修复:
users = ['name123']
username = raw_input("Enter username : ")
while username in users:
username = raw_input("Username already taken.\nEnter another username :")
注:
- 变量名始终使用小写
- 在中使用
,而不是在循环中显式循环用户
- 避免在while循环中中断,而是更改 您的循环条件
class
,为什么要添加class
标记?看起来我们是同时写下答案的。如果你认为是这样的话,我并没有偷你的代码。没关系,因为我太懒了,没有写为什么我的代码比你提供的好。