微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Python中使用户名不区分大小写的好方法是什么? 初级

如何解决在Python中使用户名不区分大小写的好方法是什么? 初级

我仍然是编程专业的学生,​​因此您可能很容易回答。

我正在从“ 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”,则会输出

用户名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.")

usernamecurrent_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.")

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。