Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import random
- import time
- # Tegemist on arvutimänguga, mis mängib läbi monthyPythonliku Eestivaba Riigi (P.S. mitte ajada segi Eesti Vabariigiga) Presidendi 31. veebruari vastuvõtu.
- # Vastuvõtt peab olema poliitiliselt korrektne, diskrimineerimisvaba ja sooliselt võrdõiguslik.
- # Mäng vajab sisendiks faile eesnimedega (Eesnimed.txt) ja perenimedega (perenimed.txt), mille põhjal koostatakse külaliste nimekiri.
- # Nimekiri talletatakse arhiivi (Kylalised.txt).
- # Kõigil Eestivaba Riigi elanikel peavad olema võrdsed võimalused olla kutsutud, olla ükskõik kes ning tulla koos ükskõik kellega.
- # Presidenti tuleb sooneutraalselt tervitada vastavalt soole kas „Härra naispresident“ või „Proua meespresident“.
- # Paraku kipuvad Eestivaba e-riigi süsteemid kohati streikima. Vastuvõtu korraldamise tarkvara offline režiimis küll toimib, aga online-sidesüsteemid on rivist väljas.
- # Seetõttu saadetakse vastuvõtule kutsututele e-kirja asemel hoopis telegrammid, mis salvestatakse ka arhiivi (fail Arhiiv.txt).
- # Kui aga mingit printsiipi väga püüdlikult taga aetakse, siis kipuvad asjad mõnikord kontrolli alt väljuma.
- # Ei ole välistatud, et mängu lõpptulemuseks on kadriorgia. Igal juhul saadetakse riigiarhiivi ka ürituse statistika (Statistika.txt).
- # Mängu lõpus kontrollitakse, kas soolise võrdõiguslikkuse printsiip oli täidetud ja väljastatakse vastav aruanne.
- print("Tere, olete palutud korraldama Eestivaba Riigi 101. aastapäevale pühendatud Presidendi vastuvõttu!")
- #Sisend ja sisendi kontroll
- while True:
- while True:
- presidendi_sugu = str(input ("Sisestage presidendi sugu (mees/naine): "))
- break
- if presidendi_sugu.upper() == "MEES" or presidendi_sugu.upper() == "NAINE":
- break
- else:
- print("Sisestage inimese sugu. Proovige uuesti...")
- while True:
- while True:
- try:
- kylaliste_arv = int(input("Sisestage külaliste arv: "))
- break
- except ValueError:
- print("Palun kasutage ainult täisarvulisi numbreid. Proovige uuesti...")
- break
- while True:
- while True:
- kätlemisTseremoonia = input("Kas soovite vaadata kätlemistseremooniat televiisorist? (jah/ei)")
- break
- if kätlemisTseremoonia.upper() == "JAH" or kätlemisTseremoonia.upper() == "EI":
- break
- else:
- print("Binaarküsimus, see ei ole nii keeruline...")
- def NimiFailistListi(fnimi,l):
- fail=open(fnimi,encoding="UTF-8")
- for fRida in fail:
- l.append(fRida.strip('\n'))
- fail.close()
- eesnimi=[]
- perenimi=[]
- NimiFailistListi('Eesnimed.txt', eesnimi)
- NimiFailistListi('Perenimed.txt', perenimi)
- kylalised=[]
- kylalisedPaaris = []
- #külalised ühekaupa
- for i in range(kylaliste_arv):
- kylalised.append(random.choice(eesnimi)+' '+random.choice(perenimi))
- kylalised_f=open("Kylalised.txt","w")
- #külaliste nimekiri
- for nimi in kylalised:
- kylalised_f.write(nimi+'\n')
- kylalised_f.close()
- #Telegramm
- arhiiv=open("Arhiiv.txt","w")
- if kylaliste_arv%2==0:
- for rida in range(0,kylaliste_arv,2):
- tekst=str("Lugupeetud " + str(kylalised[rida])+" ja "+str(kylalised[rida+1]) +". Olete oodatud Eestivaba Riigi 101. aastapäevale pühendatud pidulikule vastuvõtule.")
- telegramm=tekst.replace("õ","OE").replace("Õ","OE").replace("ö","OE").replace("Ö","OE").replace("ü","UE").replace("Ü","UE").replace("ä","AE").replace("Ä","AE")
- arhiiv.write(telegramm.upper()+'\n'+'\n')
- if kylaliste_arv%2==1:
- for rida in range(0,kylaliste_arv,2):
- if rida==kylaliste_arv-1:
- tekst=str("Lugupeetud "+str(kylalised[-1]) +". Olete oodatud Eestivaba Riigi 101. aastapäevale pühendatud pidulikule vastuvõtule.")
- telegramm=tekst.replace("õ","OE").replace("Õ","OE").replace("ö","OE").replace("Ö","OE").replace("ü","UE").replace("Ü","UE").replace("ä","AE").replace("Ä","AE")
- arhiiv.write(telegramm.upper()+'\n'+'\n')
- else:
- tekst=str("Lugupeetud " + str(kylalised[rida])+" ja "+str(kylalised[rida+1]) +". Olete oodatud Eestivaba Riigi 101. aastapäevale pühendatud pidulikule vastuvõtule.")
- telegramm=tekst.replace("õ","OE").replace("Õ","OE").replace("ö","OE").replace("Ö","OE").replace("ü","UE").replace("Ü","UE").replace("ä","AE").replace("Ä","AE")
- arhiiv.write(telegramm.upper()+'\n'+'\n')
- arhiiv.close()
- #Televiisorist vaatamine
- while kätlemisTseremoonia == "jah" and presidendi_sugu == "naine":
- if kylaliste_arv%2==0:
- for rida in range(0,kylaliste_arv,2):
- print("Saabuvad külalised " + str(kylalised[rida]) +" ja tema kaaslane "+str(kylalised[rida+1])+ ".\nPresident mõtleb, et tegemist on " + str(rida+1)+". ja " + str(rida+2)+ ". külalisega.\nKülalised tervitavad koos presidenti:\n'Tervist, härra naispresident!'")
- time.sleep(random.randint(1,3))
- if kylaliste_arv%2==1:
- for rida in range(0,kylaliste_arv,2):
- if rida==kylaliste_arv-1:
- print ("Saabub külaline " + str(kylalised[-1])+".\nPresident mõtleb, et tegemist on " + str(kylaliste_arv)+ ". külalisega.\nKülaline tervitab presidenti:\n'Tervist, härra naispresident!'")
- else:
- print("Saabuvad külalised " + str(kylalised[rida]) +" ja tema kaaslane "+str(kylalised[rida+1])+ ".\nPresident mõtleb, et tegemist on " + str(rida+1)+". ja " + str(rida+2)+ ". külalisega.\nKülalised tervitavad koos presidenti:\n'Tervist, härra naispresident!'")
- time.sleep(random.randint(1,3))
- break
- while kätlemisTseremoonia == "jah" and presidendi_sugu == "mees":
- if kylaliste_arv%2==0:
- for rida in range(0,kylaliste_arv,2):
- print("Saabuvad külalised " + str(kylalised[rida]) +" ja tema kaaslane "+str(kylalised[rida+1])+ ".\nPresident mõtleb, et tegemist on " + str(rida+1)+". ja " + str(rida+2) + ". külalisega.\nKülalised tervitavad koos:\n'Tervist, proua meespresident!'")
- time.sleep(random.randint(1,3))
- if kylaliste_arv%2==1:
- for rida in range(0,kylaliste_arv,2):
- if rida==kylaliste_arv-1:
- print ("Saabub külaline " + str(kylalised[-1])+".\nPresident mõtleb, et tegemist on " + str(kylaliste_arv)+ ". külalisega.\nKülaline tervitab presidenti:\n'Tervist, proua meespresident!'")
- else:
- print("Saabuvad külalised " + str(kylalised[rida]) +" ja tema kaaslane "+str(kylalised[rida+1])+ ".\nPresident mõtleb, et tegemist on " + str(rida+1)+". ja " + str(rida+2)+ ". külalisega.\nKülalised tervitavad koos presidenti:\n'Tervist, proua meespresident!'")
- time.sleep(random.randint(1,3))
- break
- #statistika
- substringMees = "HR."
- substringNaine = "PR."
- meesPaarid = 0
- naisPaarid = 0
- meesNaisPaarid = 0
- mehed = 0
- naised = 0
- abielupaare = 0
- statistika_fail = open("Arhiiv.txt", "r")
- for rida in statistika_fail:
- if rida.count(substringMees) == 2:
- mehed += 2
- meesPaarid += 1
- if rida.count(substringNaine) == 2:
- naised += 2
- naisPaarid += 1
- if rida.count(substringMees) == 1 and rida.count(substringNaine) == 1:
- mehed += 1
- naised += 1
- meesNaisPaarid += 1
- elif rida.count(substringMees) == 1:
- mehed += 1
- elif rida.count(substringNaine) == 1:
- naised += 1
- statistika_fail.close()
- naised_protsent=round(naised/kylaliste_arv*100)
- mehed_protsent=round(mehed/kylaliste_arv*100)
- protsent=naised_protsent-mehed_protsent
- if -10<=protsent<=10:
- järeldus="\nKokkuvõtteks saame rõõmsalt tõdeda, et soolise võrdõiguslikkuse printsiip oli tagatud. Presidendi vastuvõtule oli kutsutud " + str(naised_protsent) + "% naisi ja " + str(mehed_protsent)+"% mehi. Erinevus jääb soovoliniku poolt kehtestatud 5% piirmäära sisse. Korraldustoimkond on teinud head tööd ning on ära teeninud ühiskondliku tunnustuse!"
- else:
- järeldus="\nKokkuvõtteks peame kurbusega tõdema, et soolise võrdõiguslikkuse printsiip ei olnud tagatud. Presidendi vastuvõtule oli kutsutud " + str(naised_protsent) + "% naisi ja " + str(mehed_protsent)+"% mehi. Erinevus on suurem kui soovoliniku poolt kehtestatud 5% erinevuse piirmäär. Korraldustoimkond teeb sellest tõsised järeldused ja püüab edaspidi soolise võrdõiguslikkuse printsiibist täpsemalt kinni pidada."
- statistika_fail2 = open("Arhiiv.txt", "r")
- j = 0
- for rida in statistika_fail2:
- for j in range(len(perenimi)):
- if rida.count(str(perenimi[j].upper())) == 2:
- abielupaare += 1
- j += 1
- else:
- j += 1
- statistika_fail2.close()
- statistika = open("Statistika.txt", "w")
- statistika.write("Statistika\nAbielupaare osales vastuvõtul " + str(abielupaare) +"\nSegapaare osales vastuvõtul " + str(meesNaisPaarid) + "\nMeespaare osales vastuvõtul " + str(meesPaarid) + "\nNaispaare osales vastuvõtul " + str(naisPaarid) + "\nNaisi osales " + str(naised) + "\nMehi osales " + str(mehed) + "\n"+ str(järeldus))
- statistika.close()
- print("\nSellega on Eestivaba Riigi Presidendi vastuvõtt lõppenud. \nTeeme pidulikust sündmusest kokkuvõtte:")
- print("\nAbielupaare osales vastuvõtul " + str(abielupaare))
- print("Segapaare osales vastuvõtul " + str(meesNaisPaarid) + "\nMeespaare osales vastuvõtul " + str(meesPaarid) + "\nNaispaare osales vastuvõtul " + str(naisPaarid))
- print("Naisi osales " + str(naised) + "\nMehi osales " + str(mehed))
- print(järeldus)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement