Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from tkinter import *
- from tkinter import messagebox
- from calendar import isleap
- def is_valid(input):
- if input.isdigit():
- try:
- if len(input) > 1:
- if input[0] == "0":
- return False
- if int(input) < 10000:
- return True
- else:
- return False
- except:
- return False
- elif input == "":
- return True
- else:
- return False
- def get_leap_years():
- from_year = from_entry.get();
- to_year = to_entry.get();
- try:
- from_year = int(from_year)
- except:
- messagebox.showerror('Virhe', '"Vuodesta"-kentän arvo ei kelpaa')
- return
- try:
- to_year = int(to_year)
- except:
- messagebox.showerror('Virhe', '"Vuoteen"-kentän arvo ei kelpaa')
- return
- if from_year > to_year:
- messagebox.showerror('Virhe', '"Vuodesta"-kentän arvon pitää olla pienempi tai yhtä suuri kuin "Vuoteen"-kentä arvo')
- return
- leap_years = []
- for year in range(from_year, to_year+1):
- if isleap(year): leap_years.append(year)
- leap_years_text_box.config(state='normal')
- leap_years_text_box.delete('1.0', 'end');
- leap_years_text_box.insert('end', leap_years);
- leap_years_text_box.config(state='disabled')
- window = Tk()
- window.title('Karkausvuodet')
- window.geometry('320x240')
- validate_entry = window.register(is_valid)
- years_frame = Frame(window)
- from_frame = LabelFrame(years_frame, text="Vuodesta")
- from_entry = Entry(from_frame, justify="center", width=6, validate="key", validatecommand=(validate_entry, '%P'))
- from_entry.insert(0,'1901')
- from_entry.pack(fill="x", expand="yes", padx=3, pady=3)
- from_frame.pack(side=LEFT, ipadx=2, padx=5, pady=3)
- to_frame = LabelFrame(years_frame, text="Vuoteen")
- to_entry = Entry(to_frame, justify="center", width=6, validate="key", validatecommand=(validate_entry, '%P'))
- to_entry.insert(0,'2000')
- to_entry.pack(fill="x", expand="yes", padx=3, pady=3)
- to_frame.pack(side=RIGHT, ipadx=2, padx=5, pady=3)
- years_frame.pack(padx=5, pady=6)
- get_leap_years_button = Button(window, bg="powderblue", text="Hae karkausvuodet", command=get_leap_years)
- get_leap_years_button.pack(fill="both", padx=5, pady=6)
- leap_years_frame = LabelFrame(window, text="Karkausvuodet ajanjaksolla")
- leap_years_scrollbar = Scrollbar(leap_years_frame, orient='vertical')
- leap_years_scrollbar.pack(side=RIGHT, fill="y", expand="yes", padx=0, pady=3)
- leap_years_text_box = Text(leap_years_frame, state='normal', wrap=WORD)
- leap_years_text_box.pack(side=LEFT, fill="both", expand="yes", padx=3, pady=3)
- leap_years_scrollbar.config(command=leap_years_text_box.yview);
- leap_years_text_box.config(state='disabled', yscrollcommand=leap_years_scrollbar.set)
- leap_years_frame.pack(fill="both", expand="yes", padx=5, pady=6)
- get_leap_years()
- window.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement