from tkinter import Tk, simpledialog, messageboxdef read_from_file():with open('capital_data.txt') as file:for line in file:line = line.rstrip('\n')country, city = line.split('/')the_world[country] = citydef write_to_file(country_name, city_name):with open('capital_data.txt', 'a') as file:file.write('\n' + country_name + '/' + city_name)
print('Ask the expert - Capital cities of the world')
root = Tk()
root.withdraw()
# root.deiconify()
the_world={}
read_from_file()while True:query_country = simpledialog.askstring('国家', '输入国家的名字:')query_country = query_country.capitalize()if query_country in the_world:result = the_world[query_country]messagebox.showinfo('Answer', 'The capital city of ' + query_country + ' is ' + result +'!')else:new_city = simpledialog.askstring('Teach me',"I don't know!" +'What is the capital city of '+ query_country + '?')the_world[query_country] = new_citywrite_to_file(query_country, new_city)root.mainloop()
信息加密
from tkinter import Tk, messagebox, simpledialogdef get_task():task = simpledialog.askstring('Task', 'Do you want to encrypt or decrypt')return task
def get_message():message= simpledialog.askstring('Message', 'Enter the secret message')return messagedef is_even(number):return number % 2 == 0def get_even_letters(message):even_letters = []for counter in range(0, len(message)):if is_even(counter):even_letters.append(message[counter])return even_lettersdef get_odd_letters(message):odd_letters = []for counter in range(0, len(message)):if not is_even(counter):odd_letters.append(message[counter])return odd_lettersdef swap_letters(message):letter_list = []if not is_even(len(message)):message = message + "x"even_letters = get_even_letters(message)odd_letters = get_odd_letters(message)for counter in range(0,len(odd_letters)):letter_list.append(odd_letters[counter])letter_list.append(even_letters[counter])new_message = ''.join(letter_list)return new_messageroot = Tk()while True:task = get_task()if task == 'encrypt':message = get_message()encrypted = swap_letters(message)print(message)messagebox.showinfo('Ciphertext of the secret message is:', encrypted)elif task == 'decrypt':message = get_message()decrypted = swap_letters(message)messagebox.showinfo('Plaintext of the secret message is:', decrypted)else:breakroot.mainloop()
倒计时 需要先建立events.txt文件,内容格式如下
Halloween,30/10/24
Spanish Test,01/12/17
School Trig,20/02/17
My birthday,11/01/18
from tkinter import Tk, Canvas
from datetime import date, datetimedef get_events():list_events = []# 在vscode中,文件应该放到打开的文件夹下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# print(current_event)list_events.append(current_event)return list_eventsdef days_between_dates(date1, date2):time_between = str(date1 - date2)print(time_between)number_of_days = time_between.split(' ')return number_of_days[0]root = Tk()
c = Canvas(root, width=800, height=800,bg='green')
c.pack()
c.create_text(100, 50, anchor='w', fill='pink', font='楷体 28 bold underline', text='我的日历')
events = get_events()
today = date.today()
vertical_space = 100
events.sort(key=lambda x: x[1])
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)if (int(days_until) <=7):text_col = 'red'else:text_col = 'lightblue'c.create_text(100, vertical_space, anchor='w', fill=text_col, font='宋体 22 bold', text=display)vertical_space += 30
root.mainloop()