我是python的新手,并且已经完成了一些活动。目前我正在使用条件。我创建了一个月的字典,我使用if / then条件来检查用户输入是否在字典中。如果用户输入不在字典中,则输出应该说“坏月”'我的代码如下:
months = {1: 'January',
2: 'February',
3: 'March',
4: 'April',
5: 'May',
6: 'June',
7: 'July',
8: 'August',
9: 'September',
10: 'October',
11: 'November',
12: 'December'}
choice = input
choice = input('Enter an integer value for a month:')
result = choice
if int(choice) in months:
print('months')
else:
print('Bad month')
当输入任何大于12的整数时,输出为“坏月”'但是当我从1-12输入一个数字时,输出只有几个月?我尝试了很多印刷语句,但没有尝试过。我被卡住了。
答案 0 :(得分:1)
您需要将用户输入从input()
转换为string
转换为integer
,您可以将其与词典的keys()
进行比较,然后打印value
的相应key
。
months = {1: 'January',
2: 'February',
3: 'March',
4: 'April',
5: 'May',
6: 'June',
7: 'July',
8: 'August',
9: 'September',
10: 'October',
11: 'November',
12: 'December'}
choice = int(input('Enter an integer value for a month: ')) # cast user input to integer
if choice in months: # check if user input exists in the dictionary keys
print(months[choice]) # print corresponding key value
else:
print('Bad month')
演示:
Enter an integer value for a month: 4
April
答案 1 :(得分:0)
你可以在这里找几条路线。如果您想保留代码大纲,请尝试
if int(choice) in months:
print('months')
else:
print('Bad month')
正如一些评论所暗示的,更好的方法可能是使用get
语法(tutorial)。
months.get(input, "Bad Month")
将检查input
,如果找不到,请返回 Bad Month 。只需print
get
函数返回的内容,它就会完成您要查找的内容。