gpt4 book ai didi

Python - 忽略字母大小写

转载 作者:行者123 更新时间:2023-11-28 19:54:38 24 4
gpt4 key购买 nike

我有一个 if 语句:

rules = input ("Would you like to read the instructions? ")
rulesa = "Yes"
if rules == rulesa:
print ("No cheating")
else: print ("Have fun!")

我希望用户能够回答 Yes、YES、yES、yes 或任何其他大写字母,并让代码知道它们的意思是 Yes。

最佳答案

对于这个简单的示例,您可以将小写的 rules"yes" 进行比较:

rules = input ("Would you like to read the instructions? ")
rulesa = "yes"
if rules.lower() == rulesa:
print ("No cheating")
else:
print ("Have fun!")

在很多情况下都可以,但请注意,某些语言可能会给您带来棘手的结果。例如,德语字母 ß 给出以下内容:

"ß".lower() is "ß"
"ß".upper() is "SS"
"ß".upper().lower() is "ss"
("ß".upper().lower() == "ß".lower()) is False

所以我们可能会遇到麻烦,如果我们的字符串在调用 lower() 之前某处是大写的。同样的行为也可能在希腊语中遇到。阅读帖子 https://stackoverflow.com/a/29247821/2433843获取更多信息。

所以在一般情况下,您可能需要使用 str.casefold() 函数(自 python3.3 起),它可以处理棘手的情况,推荐使用独立于大小写的比较方式:

rules.casefold() == rulesa.casefold()

不仅仅是

rules.lower() == rulesa.lower()

关于Python - 忽略字母大小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35599982/

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