如何在 Python 3 中使用户条目不区分大小写?

问题描述 投票:0回答:1

首先,我是Python新手,从来没有写过代码,所以请原谅!

我正在关注 FreeCodeCamp 的 Python 教程。我想知道如何使用户输入不区分大小写。

这是示例代码。

month_conversions = {
    "Jan": "January",
    "Feb": "February",
    "Mar": "March",
    "Apr": "April",
    "May": "May",
    "Jun": "June",
    "Jul": "July",
    "Aug": "August",
    "Sep": "September",
    "Oct": "October",
    "Nov": "November",
    "Dec": "December",
}

print(month_conversions.get("Jan")

它总是返回“January”。

假设我希望用户输入“JAN”、“jan”和“Jan”的灵活性,并且程序始终返回“January”。我该怎么做?

我将月份重新写入列表,然后引用它们的索引,该索引应该生成月份的完整名称。像这样。

month_key = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]

month_conversions = {
    month_key[0]: "January",
    month_key[1]: "February",
    month_key[2]: "March",
    month_key[3]: "April",
    month_key[4]: "May",
    month_key[5]: "June",
    month_key[6]: "July",
    month_key[7]: "August",
    month_key[8]: "September",
    month_key[9]: "October",
    month_key[10]: "November",
    month_key[11]: "December",
}

print(month_conversions.get("Jan"))

我很高兴它给了我一月!但是使用 .get 命令,如何确保用户可以输入“JAN”、“jan”和“Jan”并返回“January”?

python-3.x string dictionary string-matching case-insensitive
1个回答
0
投票

一种方法是小写字典键。

month_conversions = {
    "jan": "January",
    "feb": "February",
    "mar": "March",
    "apr": "April",
    "may": "May",
    "jun": "June",
    "jul": "July",
    "aug": "August",
    "sep": "September",
    "oct": "October",
    "nov": "November",
    "dec": "December",
}

然后询问用户

user = input('Enter month please : ')
l_case = user.lower()
print(month_conversions.get(l_case))

#输出

Enter month please : Jan
January

Enter month please : JAN
January

Enter month please : jan
January
© www.soinside.com 2019 - 2024. All rights reserved.