Advertisement
Guest User

Untitled

a guest
Dec 3rd, 2019
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 9.56 KB | None | 0 0
  1. import random
  2. import time
  3.  
  4. # Tegemist on arvutimänguga, mis mängib läbi monthyPythonliku Eestivaba Riigi (P.S. mitte ajada segi Eesti Vabariigiga) Presidendi 31. veebruari vastuvõtu.
  5. # Vastuvõtt peab olema poliitiliselt korrektne, diskrimineerimisvaba ja sooliselt võrdõiguslik.
  6. # Mäng vajab sisendiks faile eesnimedega (Eesnimed.txt) ja perenimedega (perenimed.txt), mille põhjal koostatakse külaliste nimekiri.
  7. # Nimekiri talletatakse arhiivi (Kylalised.txt).
  8. # Kõigil Eestivaba Riigi elanikel peavad olema võrdsed võimalused olla kutsutud, olla ükskõik kes ning tulla koos ükskõik kellega.
  9. # Presidenti tuleb sooneutraalselt tervitada vastavalt soole kas „Härra naispresident“ või „Proua meespresident“.
  10. # 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.
  11. # Seetõttu saadetakse vastuvõtule kutsututele e-kirja asemel hoopis telegrammid, mis salvestatakse ka arhiivi (fail Arhiiv.txt).
  12. # Kui aga mingit printsiipi väga püüdlikult taga aetakse, siis kipuvad asjad mõnikord kontrolli alt väljuma.
  13. # Ei ole välistatud, et mängu lõpptulemuseks on kadriorgia. Igal juhul saadetakse riigiarhiivi ka ürituse statistika (Statistika.txt).
  14. # Mängu lõpus kontrollitakse, kas soolise võrdõiguslikkuse printsiip oli täidetud ja väljastatakse vastav aruanne.
  15.  
  16. print("Tere, olete palutud korraldama Eestivaba Riigi 101. aastapäevale pühendatud Presidendi vastuvõttu!")
  17. #Sisend ja sisendi kontroll
  18. while True:
  19.     while True:
  20.         presidendi_sugu = str(input ("Sisestage presidendi sugu (mees/naine): "))
  21.         break
  22.     if presidendi_sugu.upper() == "MEES" or presidendi_sugu.upper() == "NAINE":
  23.         break
  24.     else:
  25.         print("Sisestage inimese sugu. Proovige uuesti...")
  26.  
  27. while True:
  28.     while True:
  29.         try:
  30.             kylaliste_arv = int(input("Sisestage külaliste arv: "))
  31.             break
  32.         except ValueError:
  33.             print("Palun kasutage ainult täisarvulisi numbreid. Proovige uuesti...")
  34.     break
  35.  
  36. while True:
  37.     while True:
  38.         kätlemisTseremoonia = input("Kas soovite vaadata kätlemistseremooniat  televiisorist? (jah/ei)")
  39.         break
  40.     if kätlemisTseremoonia.upper() == "JAH" or kätlemisTseremoonia.upper() == "EI":
  41.         break
  42.     else:
  43.         print("Binaarküsimus, see ei ole nii keeruline...")
  44.  
  45. def NimiFailistListi(fnimi,l):
  46.     fail=open(fnimi,encoding="UTF-8")
  47.     for fRida in fail:
  48.         l.append(fRida.strip('\n'))
  49.     fail.close()
  50.  
  51. eesnimi=[]
  52. perenimi=[]
  53.  
  54. NimiFailistListi('Eesnimed.txt', eesnimi)
  55. NimiFailistListi('Perenimed.txt', perenimi)
  56.  
  57. kylalised=[]
  58. kylalisedPaaris = []
  59.  
  60. #külalised ühekaupa
  61. for i in range(kylaliste_arv):
  62.     kylalised.append(random.choice(eesnimi)+' '+random.choice(perenimi))
  63.  
  64. kylalised_f=open("Kylalised.txt","w")
  65. #külaliste nimekiri
  66. for nimi in kylalised:
  67.     kylalised_f.write(nimi+'\n')
  68. kylalised_f.close()
  69.  
  70. #Telegramm
  71.  
  72. arhiiv=open("Arhiiv.txt","w")
  73.  
  74. if kylaliste_arv%2==0:
  75.     for rida in range(0,kylaliste_arv,2):
  76.         tekst=str("Lugupeetud " + str(kylalised[rida])+" ja "+str(kylalised[rida+1]) +". Olete oodatud Eestivaba Riigi 101. aastapäevale pühendatud pidulikule vastuvõtule.")
  77.         telegramm=tekst.replace("õ","OE").replace("Õ","OE").replace("ö","OE").replace("Ö","OE").replace("ü","UE").replace("Ü","UE").replace("ä","AE").replace("Ä","AE")
  78.         arhiiv.write(telegramm.upper()+'\n'+'\n')
  79.        
  80. if kylaliste_arv%2==1:
  81.     for rida in range(0,kylaliste_arv,2):
  82.         if rida==kylaliste_arv-1:
  83.             tekst=str("Lugupeetud "+str(kylalised[-1]) +". Olete oodatud Eestivaba Riigi 101. aastapäevale pühendatud pidulikule vastuvõtule.")
  84.             telegramm=tekst.replace("õ","OE").replace("Õ","OE").replace("ö","OE").replace("Ö","OE").replace("ü","UE").replace("Ü","UE").replace("ä","AE").replace("Ä","AE")
  85.             arhiiv.write(telegramm.upper()+'\n'+'\n')
  86.  
  87.         else:
  88.             tekst=str("Lugupeetud " + str(kylalised[rida])+" ja "+str(kylalised[rida+1]) +". Olete oodatud Eestivaba Riigi 101. aastapäevale pühendatud pidulikule vastuvõtule.")
  89.             telegramm=tekst.replace("õ","OE").replace("Õ","OE").replace("ö","OE").replace("Ö","OE").replace("ü","UE").replace("Ü","UE").replace("ä","AE").replace("Ä","AE")
  90.             arhiiv.write(telegramm.upper()+'\n'+'\n')
  91.  
  92. arhiiv.close()
  93.  
  94. #Televiisorist vaatamine
  95.  
  96. while kätlemisTseremoonia == "jah" and presidendi_sugu == "naine":
  97.     if kylaliste_arv%2==0:
  98.         for rida in range(0,kylaliste_arv,2):
  99.             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!'")
  100.             time.sleep(random.randint(1,3))
  101.     if kylaliste_arv%2==1:
  102.         for rida in range(0,kylaliste_arv,2):
  103.             if rida==kylaliste_arv-1:
  104.                 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!'")                          
  105.             else:
  106.                 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!'")
  107.             time.sleep(random.randint(1,3))
  108.     break
  109.  
  110.  
  111. while kätlemisTseremoonia == "jah" and presidendi_sugu == "mees":
  112.     if kylaliste_arv%2==0:
  113.         for rida in range(0,kylaliste_arv,2):
  114.             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!'")
  115.             time.sleep(random.randint(1,3))
  116.     if kylaliste_arv%2==1:
  117.         for rida in range(0,kylaliste_arv,2):
  118.             if rida==kylaliste_arv-1:
  119.                 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!'")                          
  120.             else:
  121.                 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!'")
  122.             time.sleep(random.randint(1,3))
  123.     break
  124.  
  125. #statistika
  126.  
  127. substringMees = "HR."
  128. substringNaine = "PR."
  129.  
  130. meesPaarid = 0
  131. naisPaarid = 0
  132. meesNaisPaarid = 0
  133. mehed = 0
  134. naised = 0
  135. abielupaare = 0
  136.  
  137. statistika_fail = open("Arhiiv.txt", "r")
  138.  
  139. for rida in statistika_fail:
  140.     if rida.count(substringMees) == 2:
  141.         mehed += 2
  142.         meesPaarid += 1
  143.     if rida.count(substringNaine) == 2:
  144.         naised += 2
  145.         naisPaarid += 1
  146.     if rida.count(substringMees) == 1 and rida.count(substringNaine) == 1:
  147.         mehed += 1
  148.         naised += 1
  149.         meesNaisPaarid += 1
  150.     elif rida.count(substringMees) == 1:
  151.         mehed += 1
  152.     elif rida.count(substringNaine) == 1:
  153.         naised += 1
  154.        
  155. statistika_fail.close()
  156.        
  157. naised_protsent=round(naised/kylaliste_arv*100)
  158. mehed_protsent=round(mehed/kylaliste_arv*100)
  159. protsent=naised_protsent-mehed_protsent
  160.  
  161. if -10<=protsent<=10:
  162.     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!"
  163. else:
  164.     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."
  165.        
  166.          
  167.        
  168. statistika_fail2 = open("Arhiiv.txt", "r")
  169.  
  170. j = 0
  171.  
  172. for rida in statistika_fail2:
  173.     for j in range(len(perenimi)):
  174.         if rida.count(str(perenimi[j].upper())) == 2:
  175.             abielupaare += 1
  176.             j += 1
  177.         else:
  178.             j += 1
  179.  
  180. statistika_fail2.close()
  181.        
  182. statistika = open("Statistika.txt", "w")
  183. 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))
  184. statistika.close()
  185.  
  186. print("\nSellega on Eestivaba Riigi Presidendi vastuvõtt lõppenud. \nTeeme pidulikust sündmusest kokkuvõtte:")
  187. print("\nAbielupaare osales vastuvõtul " + str(abielupaare))
  188. print("Segapaare osales vastuvõtul " + str(meesNaisPaarid) + "\nMeespaare osales vastuvõtul " + str(meesPaarid) + "\nNaispaare osales vastuvõtul " + str(naisPaarid))
  189. print("Naisi osales " + str(naised)  + "\nMehi osales " + str(mehed))
  190. print(järeldus)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement