Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用python进行用户名输入和匹配-(卡在while循环中)_Python_Database_Class_While Loop - Fatal编程技术网

使用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
标记?看起来我们是同时写下答案的。如果你认为是这样的话,我并没有偷你的代码。没关系,因为我太懒了,没有写为什么我的代码比你提供的好。