Skip to content
Snippets Groups Projects

Kalenteri3

Open Sofia Romar requested to merge saroma-main-patch-20026 into main
1 file
+ 124
0
Compare changes
  • Side-by-side
  • Inline
Kalenteri3.py 0 → 100644
+ 124
0
import calendar
import datetime
kuukaudet = {"tammikuu": 1, "helmikuu": 2, "maaliskuu": 3, "huhtikuu": 4, "toukokuu": 5, "kesäkuu": 6, "heinäkuu": 7, "elokuu": 8, "syyskuu": 9, "lokakuu": 10, "marraskuu": 11, "joulukuu": 12}
muistutukset={}
def kuukaudet_numeroiksi(kuukausi):
"""Kuukaudet voidaan antaa numeroina tai kirjoitettuina"""
if type(kuukausi) == str:
kuukausi = kuukausi.lower()
return(kuukaudet[kuukausi])
else:
return(kuukausi)
def luo_salasana():
"""Luo uuden salasanan"""
salasana = input("Anna uusi salasana: ")
tiedosto = open("salasana.txt", "w")
tiedosto.write(salasana)
tiedosto.close()
def anna_salasana():
"""Pyytää syöttämään olemassa olevan salasanan"""
ssana = input("Salasana: ")
salasana = open("salasana.txt").read()
if ssana == salasana:
return(True) #koodiin kirjoitetaan esimerkiksi if anna_salasana() == True
else:
return(False)
def muistutusten_lisääminen():
pvä=int(input("Anna päivä: "))
kk=int(input("Anna kuukausi: "))
muistutus=input("Lisää muistutus: ")
muistutukset[(vuosi, kk, pvä)]=muistutus
return(muistutukset)
def tulosta_kalenteri():
kal=monthcalendar(vuosi, kk)
for vko in kal:
for päivä in vko:
if päivä!=0:
tapahtuma=muistutukset.get((vuosi, kk, päivä))
if tapahtuma:
print(f"{päivä}: {tapahtuma}")
print()
def päivän_etsiminen(päivä, kal):
"""Etsii haetun päivän sijainnin kalenterista"""
for i in range(len(kal)):
for j in range(7):
if kal[i][j] == päivä:
return(i, j)
def tämän_päivän_highlightaaminen(calendar_output):
"""kuluvan päivän highlightaaminen"""
päivä = time_now.day
oikea_päivä = päivän_etsiminen(päivä, kal)
bold_pvä = '\033[92m' + str(kal[oikea_päivä[0]][oikea_päivä[1]]) + '\033[0m'
lista = calendar_output.split("\n")
oikea_rivi = lista[oikea_päivä[0] + 2].split(" ")
oikea_index = oikea_rivi.index(str(päivä))
oikeampi_päivä = oikea_rivi[oikea_index]
boldattu = '\033[92m' + oikeampi_päivä + '\033[0m'
oikea_rivi[oikea_index] = boldattu
oikea_lista = " ".join(oikea_rivi)
lista[oikea_päivä[0] + 2] = oikea_lista
viimeinen_rivi = "\n".join(lista)
print(viimeinen_rivi)
def tapahtuman_highlightaaminen(calendar_output):
"""Mahdollisen tapahtumapäivän highlightaaminen"""
oikea_päivä = päivän_etsiminen(päivä, kal)
bold_pvä = '\033[92m' + str(kal[oikea_päivä[0]][oikea_päivä[1]]) + '\033[0m'
lista = calendar_output.split("\n")
oikea_rivi = lista[oikea_päivä[0] + 2].split(" ")
oikea_index = oikea_rivi.index(str(päivä))
oikeampi_päivä = oikea_rivi[oikea_index]
boldattu = '\033[92m' + oikeampi_päivä + '\033[0m'
oikea_rivi[oikea_index] = boldattu
oikea_lista = " ".join(oikea_rivi)
lista[oikea_päivä[0] + 2] = oikea_lista
viimeinen_rivi = "\n".join(lista)
print(viimeinen_rivi)
def menu():
print("Valitse toiminto:")
print("1. Lisää muistutus")
print("2. Tulosta kalenteri")
print("0. Lopeta")
time_now = datetime.datetime.now()
print(f"Tervetuloa! Tänään on {time_now.day}.{time_now.month}. vuonna {time_now.year}.")
from calendar import*
vuosi=int(input("Anna vuosi: "))
print(calendar(vuosi))
while True:
menu()
valinta=input("Valinta: ")
if valinta=="1":
muistutusten_lisääminen()
elif valinta=="2":
import calendar
import datetime
vuosi = int(input("Vuosi: "))
kk = int(input("Kuukausi: "))
calendar_output = (calendar.month(vuosi, kk))
kal=monthcalendar(vuosi, kk)
if vuosi == time_now.year:
if kk == time_now.month:
if int(time_now.day):
tämän_päivän_highlightaaminen(calendar_output)
for vko in kal:
for päivä in vko:
if päivä!=0:
tapahtuma=muistutukset.get((vuosi, kk, päivä))
if tapahtuma:
tapahtuman_highlightaaminen(calendar_output)
print(f"Muistutus {päivä}. päivälle: {muistutukset[(vuosi, kk, päivä)]} \n")
else:
break
Loading