已关闭。此问题需要details or clarity。当前不接受答案。
**想要改进此问题吗?**通过editing this post添加详细信息并阐明问题。
昨天关门了。
此帖子已在21小时前编辑并提交审阅,无法重新打开帖子:
原始关闭原因未解决
Improve this question
我的代码不理解列表中的字母,我希望有人帮助我解决这个问题
usernames = (BTP, btp, Btp, BTp)
def username(usernames2):
if usernames == input('whats your username? : ')
这是一个简单的用户名系统,我计划使用一个界面即时通讯制作。
2条答案
按热度按时间guykilcj1#
usernames
定义为4个项目的tuple,名称分别为BTP
、btp
、Btp
和BTp
。您在标题中提到了“list”,但您的代码没有实际的列表。列表使用括号,元组使用括号。无论如何,我假设您实际上想检查用户的输入是否等于字母
"btp"
,并且您希望检查不区分大小写,因此您包括了所有大小写组合。主要的问题是你没有在字符串前后加上引号,所以你的代码中只有4个空的名字,解释器希望这些名字已经被定义过了。但是,你实际上不必在第一位定义所有可能的大小写组合-有一个更容易的方法来进行不区分大小写的字符串比较,here。
因此,您的代码只需如下所示:
或者,如果要检查多个用户名,可以使用
in
运算符:vsdwdz232#
如果没有声明
BTP
、btp
、Btp
和BTp
,则会得到NameError
如果要使用字符串,则需要使用单引号或双引号:
这样,您就创建了一个包含四个字符串元素的元组。
下一个问题是比较
tuple
是否等于字符串时的if
条件。尝试将用户提供的输入存储在变量中: