Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何制作接受输入的日历:修改现有日历模块或构建我自己的日历模块_Python_Calendar - Fatal编程技术网

Python 如何制作接受输入的日历:修改现有日历模块或构建我自己的日历模块

Python 如何制作接受输入的日历:修改现有日历模块或构建我自己的日历模块,python,calendar,Python,Calendar,我懂一点蟒蛇,仅此而已。 我的目标是制作一个程序,接受一些用户输入并打印出两件事: (请原谅那些无用的视觉辅助工具) mon-sun列表,如: mon tues wed ... jon 1 alex 3 sam 2 和具有相同信息的日历: feb 1 2 3 4... jon alex sam joe lun

我懂一点蟒蛇,仅此而已。 我的目标是制作一个程序,接受一些用户输入并打印出两件事:

(请原谅那些无用的视觉辅助工具)

mon-sun列表,如:

mon     tues     wed     ...

jon 1   alex 3   sam 2
和具有相同信息的日历:

                           feb
        1       2     3      4...
        jon     alex  sam
        joe     lun   fred

        8       9     10 
问题:我是否打算从头开始构建自己的日历?或者以某种方式修改python标准库附带的现有日历模块是否更符合逻辑?或者我完全错了,应该考虑…(某物)

我一直在扫描,不相信我能控制那么多代码。但构建我自己的东西似乎同样困难


另外:该程序可能不会被任何人使用,但理论上它需要在windows上运行,我还没有弄清楚(Gui或web应用程序)、安全性或如何保存/备份/访问用户数据

据我所知,您似乎想要构建某种日历/日程安排应用程序。正如你所注意到的,制作这样的作品实际上涉及很多细节。在此过程中,您遇到了程序员遇到的最常见问题之一

我应该使用现有的库还是自己构建

在这个话题上有很多不同的观点,最后,一切都归结于环境

所以,我要试着解决一下你的情况。作为一个初学者,使用大量的代码是很难的,而做一些你以前没有做过的事情也是很难的,同时做这两件事可能会让你感到沮丧。因此,我建议选择两条路线中的一条:

  • 找到一个描述类似于你想做的事情的教程,并遵循它

  • 把你的注意力集中在你能解决的最小的问题上,然后写代码来解决这个问题

  • 有了选项一,我想你在搜索“待办事项列表”教程时会有一些运气。这比一个完整的日历要简单一些,但是在这个空间里有足够的空间做有趣的事情。事实上,程序员一直在编写待办事项列表软件。通过快速的谷歌搜索,我发现了如何用Django创建一个待办事项列表网站。我不确定它是否很好,但如果不是,肯定还有其他的

    对于选项二,您将希望从显著缩小的范围开始。我将首先考虑“如何存储日历?”这个问题,您可能会考虑使用python字典,以天(由整数表示)为键,以待办事项列表为值。然后你可以开始问“我怎样才能显示这个?”

    我建议初学者坚持把东西打印到终端上。除非您的目标是学习GUI或web编程,否则朝着这个方向走会花费大量时间来解决您试图解决的任何问题

    我刚看到你的问题。我同意本·泰特尔鲍姆的建议

    也不要太担心界面,因为你会觉得这个版本很糟糕,你需要在某个时候扔掉它。然后(而不是更早)将是考虑接口的正确时机

    并将其扩展到包括内部构件。如果您决定构建一些独立于python的日历模块的东西,那么您可能会放弃它,重新开始。如果您决定使用python的日历模块构建一些东西,那么您也可能会放弃它,重新开始


    值得一提的是,建造一些可以扔掉的东西并不是一件坏事。事实上,这本书对它进行了深入的描述。虽然描述是关于专业软件工程的,但我认为它也适用于初学者。如果你以前从未解决过这类问题,那么很难知道解决问题的最佳方法。解决问题的最佳方法可能是接受第一个解决方案行不通,但无论如何都要构建它。

    谢谢你的建议。比我希望的更有帮助!我将使用你推荐的django教程,因为我一开始对django很兴奋,看到“我在黑暗中蹒跚而行,无论如何,我还是喜欢它。”。