【发布时间】:2019-12-27 02:32:07
【问题描述】:
希望你们一切都好。我的代码有点情况。我正在尝试创建一个程序,用户可以在其中创建自己的用户名,然后将此用户名与现有用户列表进行比较。问题是当用户尝试输入他们自己的用户名时,程序会继续并在现有列表中循环每个字母,然后给你一个提示。我真正想让程序做的是评估整个输入(用户名单词)并将其与我现有的列表进行比较。
current_users=['gin','obi','joe','chris','ralph']
new_users=input('enter user name:')
for new_user in new_users:
if new_user in current_users:
print(f"{new_user} is already taken, please choose another username")
else:
print('username succesfully created')
我猜有一个我还没有理解的理论概念。如果您能帮我修复代码,我将不胜感激。
【问题讨论】:
-
new_user不是一个列表。当你循环它时,你只会得到字母。你可以这样做:if new_user in current_users: -
循环
string会逐字母循环 - 您不必要地在for结构中循环它。 -
你的意思是允许用户输入多个用户名吗?