<p>仅当生成的用户名不在列表中时才执行操作,但当用户名在列表中时不执行任何操作。因此,如果不退出while循环,程序将挂起</p>
<p>下面的代码示例满足您的要求。尽管我建议您探索python中的<a href="https://docs.python.org/3/library/uuid.html" rel="nofollow noreferrer">uuid package</a></p>
<pre><code>import random
user_list = ["user32944", "user60690"] # essentially this list is what I retireve from some database
def generateRandomUsername():
randomNr = random.randint(1,3)
if randomNr == 1:
return "user32944"
else:
return "user" + str(random.random() * 100000).split(".")[0]
def getRandomUniqueUsername():
while(True):
username = generateRandomUsername()
if username not in user_list:
print('Created user \'%s\'' % username)
return username
else:
print("Username \'%s\'already exists, generating new one" % username)
def printUsernameList():
for username in user_list:
print('Username: %s' % username)
#Create 4 random usernames
for i in range(4):
username = getRandomUniqueUsername()
user_list.append(username)
print('Printing user_list...')
printUsernameList()
</code></pre>