gpt4 book ai didi

python - 从文本文件创建用户名

转载 作者:太空宇宙 更新时间:2023-11-03 18:04:16 25 4
gpt4 key购买 nike

我只知道我对此感到厌烦,所以请耐心等待。到目前为止已经尽力了!

从文本文件中读取包含名字和姓氏(有些包含中间名)的行,以生成一个用户名,该用户名是名字和任何中间名的连接版本。如果有重复,我们会提取他们姓氏的第一个字母。如果仍然重复,我们添加后缀 1,并从那里开始计算更多重复项 - 我只是无法让这部分工作!

usernames = []

for line in open('classlist.txt'):
count = 0
name = line.lower().split()
surname = name[-1]
username = ''.join(name[0:-1])
username_w_surname = username + surname[0]
username_w_surname_integer = username_w_surname + str(count)
if username not in usernames:
usernames.append(username)
elif username in usernames:
usernames.append(username_w_surname)
elif username_w_surname in usernames:
count = count + 1
usernames.append(username_w_surname_integer)

for entry in usernames:
print (entry)

正在返回

max
katherine
annamarie
james
jamesp
jamesp
jamesb

但第二个 jamesp 应该是 jamesp1

最佳答案

你的前两个子句:

if username not in usernames:
usernames.append(username)
elif username in usernames:
usernames.append(username_w_surname)

涵盖了所有可能性,因为 username 要么在 usernames 中,要么不在 usernames 中。因此你永远不会进入第三个区 block :

elif username_w_surname in usernames:
count = count + 1
usernames.append(username_w_surname_integer)

这应该可以解决问题:

  if username not in usernames:
usernames.append(username)
elif username_w_surname not in usernames:
usernames.append(username_w_surname)
else:
count = count + 1
usernames.append(username_w_surname_integer)

最后还有一个优化提示:不要使用列表来收集用户名,而是查看 sets

关于python - 从文本文件创建用户名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27159252/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com