问题描述
我仍然是编程专业的学生,因此您可能很容易回答。
我正在从“ Python Crash Course”这本书中编写一些代码。我要做的任务是确保我 我的比较不区分大小写。如果已使用“ John”,则不应接受“ JOHN”。 为此,您需要复制current_users的副本,其中包含小写版本的 所有现有用户。”
current_users = ['ted','jed','red','ned','dr fred']
new_users = ['ted','bernard','hoagie','laverne']
for username in new_users:
if username in current_users:
print(f"Username {username} is unavailable. Please choose a different username.")
else:
print(f"Username {username} is available for use.")
输出:用户名ted不可用。请选择一个不同的用户名。 用户名jed不可用。请选择一个不同的用户名。 可以使用用户名bernard。 可以使用用户名大杂烩。 可以使用用户名laverne。 [以0.3秒完成]
如果我将“ ted”更改为“ Ted”或“ TED”,则会输出:
不应该。我错过了什么吗? 还是Python在最近的更新中失去了区分大小写的功能?
编辑- 感谢您的解决方案。
解决方法
我会这样:
current_users = ['ted','jed','red','ned','dr fred']
new_users = ['ted','JED','bernard','hoagie','laverne']
for username in map(str.lower,new_users):
if username in map(str.lower,current_users):
print(f"Username {username} is unavailable. Please choose a different username.")
else:
print(f"Username {username} is available for use.")
将username
和current_users
中的所有用户名基本转换为相同的大小写
尝试使用此代码:
current_users = ['ted','laverne']
for username in new_users:
if username.lower() in [current_user.lower() for current_user in current_users]:
print(f"Username {username} is unavailable. Please choose a different username.")
else:
print(f"Username {username} is available for use.")