正在为月份名称和编号创建字典。向用户询问月号、输出月名

2024-09-28 03:11:35 发布

您现在位置:Python中文网/ 问答频道 /正文

def monthName(): 
    NewDictionary = {1: "January", 2: "February", 3: "March", 4: "April", 5: "May", 6: "June",\
    7: "July", 8: "August", 9: "September", 10: "October", 11: "November", 12: "December"}
monthNumber= int(input("Enter number "))
monthNumber= monthName
print(monthName)

我的代码有问题。每次我运行时,它都会要求输入月份号,但不会打印出月份名称


Tags: defjulymaymarch月份augustjuneapril
2条回答

不确定您想做什么,但您的函数只定义一个dict。请尝试将所有内容放入函数中,然后从字典中实际获取相应键的值-

def monthName():
    
    #Define new dict
    NewDictionary = {1: "January", 2: "February", 3: "March", 4: "April", 5: "May", 6: "June",\
    7: "July", 8: "August", 9: "September", 10: "October", 11: "November", 12: "December"}
    
    #Take input from user
    monthNumber = int(input("Enter number "))
    
    #Get month name with input month number as key and return output
    output = NewDictionary.get(monthNumber)
    return output

monthName() #function call
#input = 3
'March'

使用带有默认值的dict.get(key, 'default-val')

有几件事需要注意:

  1. 可以在函数外部初始化dict,以避免每次调用函数时都创建它

  2. 您可以将monthNumber作为参数传递给函数monthName()

  3. 如果找到,则返回月份名称,否则返回默认值

因此:

NewDictionary = {1: "January", 2: "February", 3: "March", 4: "April", 5: "May", 6: "June",\
7: "July", 8: "August", 9: "September", 10: "October", 11: "November", 12: "December"}

def monthName(monthNumber): 
    return NewDictionary.get(monthNumber, 'Month not found!')       

monthNumber= int(input("Enter number "))
print(monthName(monthNumber))

输出:

Enter number 2
February 

Enter number 44                                                                                                                                                              
Month Not found! 

相关问题 更多 >

    热门问题