如何为用户输入的密钥调用字典? 将 tile_size 的键声明为 //放弃 month_dict 循环从month_dict[month]中移除for和for的声明

如何解决如何为用户输入的密钥调用字典? 将 tile_size 的键声明为 //放弃 month_dict 循环从month_dict[month]中移除for和for的声明

我想拨打给定的月份号码。如果用户输入 1 等,我希望输出类似于“一月的天数是 30”。

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

month = int(input("Enter the number of month:"))

def number_of_date(month):
    for value in month_dict.items():
        if month in [1,3,5,7,8,10,12]:
            print("Number of days in",value,"is 31!!!")
        elif month in [4,6,9,11]:
            print("Number of days in","is 30!!!")
        elif month == 2:
            print("Number of days in","is 28!!!")
        else:
            print("There is not a month like that.. Check your writing!")

number_of_date(month)        

解决方法

给你。只需稍微重新排序和修复即可。基础非常扎实。

month_dict = {
    1: "January",# removed "" around the numbers,because inputs are immediately converted to ints.
    2: "February",3: "March",4: "April",5: "May",6: "June",7: "July",8: "August",9: "September",10: "October",11: "November",12: "December" 
    }
    
def number_of_date(month): # removed for loop. You only need to print it once
    if month in [1,3,5,7,8,10,12]:
        print("Number of days in",month_dict[month],"is 31!!!") # month_dict[month] returns the correct name.
    elif month in [4,6,9,11]:
        print("Number of days in","is 30!!!")
    elif month == 2:
        print("Number of days in","is 28!!!")
    else:
        print("There is not a month like that.. Check your writing!")


while True: #while loop only around function call. No need to redefine functions every time
    month = int(input("Enter the number of month:"))
    number_of_date(month)  
#notice that your program will never end. Maybe loop only while month != -1. So -1 can be used to exit the program.
,

tile_size 的键声明为 //

主要问题是 column = mouse_pos[0] // tile_size row = mouse_pos[1] // tile_size 中的键是字符串。如果您将它们更改为整数:

month_dict

然后您可以简单地使用 int 获取与其编号相关联的月份名称。

放弃 month_dict 循环

丢失函数内的 month_dict = { 1: "January",2: "February",12: "December" } 将使其打印单个最终结果。

month_dict[month]中移除forfor的声明

最后,还要考虑这样做以避免一遍又一遍地声明相同的值。

完整代码如下:

month_dict

我想就是这样!
如果接下来要检查闰年,请参阅 this tutorial

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?