【问题标题】:No duplicate username没有重复的用户名
【发布时间】:2022-01-18 04:08:01
【问题描述】:
                  data=[] 
                  generate = random.randrange(100,1000)
                  genusername=newName[0]+newSurname[0:3]+str(generate)
                  print("Generated username : ", genusername)
                  available=True
                  while(available):
                    count=0
                    while (count<len(data)):
                      avail = data[count][5]
                      if(genusername==avail):
                        generate = random.randrange(100,1000)
                        genusername=newName[0]+newSurname[0:3]+str(generate)
                        print("Generated username again : ", genusername)   
                        count=0
                      else:
                        count+=1
                    available=False

它说 Traceback(最近一次通话最后一次): 文件“main.py”,第 109 行,在 有效 = 数据[计数][5] IndexError:字符串索引超出范围 我正在尝试生成多个不重复但不工作的用户名,如何解决此错误?

【问题讨论】:

  • 请提供更完整的示例。代码不应进入while (count&lt;len(data)): 循环,因为len(data) 为0。

标签: python list random


【解决方案1】:

为什么不做一些更简单的事情呢?

  1. 初始化你的数组、变量

  2. 生成姓氏

  3. 生成姓氏

  4. 生成一个随机数

  5. 结合 2 + 3 + 4

使用此方法,您将始终拥有唯一标识符。

如果您想运行检查,您必须将所有这些转储到一个文件或大数组中,并且您可以使用简单的搜索来验证它们不是重复的。

【讨论】:

    猜你喜欢
    • 2019-09-01
    • 2018-03-02
    • 1970-01-01
    • 2015-09-25
    • 2011-12-28
    • 2013-10-01
    • 2012-12-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多