首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >日历倒计时代码不起作用

日历倒计时代码不起作用
EN

Stack Overflow用户
提问于 2018-11-15 09:38:51
回答 1查看 439关注 0票数 0

我在Python中遇到了这个问题。昨天,我复制了用Python编码项目中的Countdown Calendar代码,并添加了'events.txt‘。我检查了所有的问题以确保它能正常工作。但是当我运行它时,文本并没有显示出来。下面是我的文档的设置方式:

代码如下:

代码语言:javascript
复制
from tkinter import Tk, Canvas
from datetime import date, datetime

def get_events():
    list_events = []
    with open('events.txt') as file:
        for line in file:
            line = line.rstrip('\n')
            current_event = line.split('.')
            event_date = datetime.strptime(current_event[1], '%d/%m/%y').date()
            current_event[1] = event_date
            list_events.append(current_event)
    return list_events

def days_between_dates(date1, date2):
    time_between = str(date1 - date2)
    number_of_days = time_between.split(' ')
    return number_of_days[0]

root = Tk()
c = Canvas(root, width=800, height=800, bg='black')
c.pack()
c.create_text(100, 50, anchor='w', fill='orange', \
              font='Arial 28 bold underline', text='My Countdown Calendar')

events = get_events()
today = date.today()
vertical_space = 100

for event in events:
    event_name = event[0]
    days_until = days_between_dates(event[1], today)
    display = 'It is %s days until %s' % (days_until, event_name)
    c.create_text(100, vertical_space, anchor='w', fill='lightblue', \
                  font='Arial 28 bold', text=display)    
EN

回答 1

Stack Overflow用户

发布于 2019-09-02 04:56:50

我想有几件事。

  1. current_event = line.split('.') -我认为这应该是一个逗号,而不是句号。
  2. 就像其他人提到的,如果使用PyCharm,你需要在文件的末尾添加root.mainloop()
  3. 确保你的文本文件的末尾没有任何额外的行,事件和事件日期之间没有空格-只有一个逗号。

我发现这解决了我在做这个练习时的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53311254

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档