From 532d2c0d8e46e0b446e1cbea8cfa51c0366bc310 Mon Sep 17 00:00:00 2001 From: Sampsa <AB6912@student.jamk.fi> Date: Fri, 3 Dec 2021 18:24:45 +0200 Subject: [PATCH] =?UTF-8?q?harjoitusty=C3=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- "Harjoitusty\303\266/README.md" | 5 ++ .../funcsAndClasses.cpython-39.pyc" | Bin 0 -> 1324 bytes .../__pycache__/functions.cpython-39.pyc" | Bin 0 -> 581 bytes .../__pycache__/main.cpython-39.pyc" | Bin 0 -> 925 bytes .../__pycache__/questions.cpython-39.pyc" | Bin 0 -> 2815 bytes "Harjoitusty\303\266/funcsAndClasses.py" | 43 +++++++++++ "Harjoitusty\303\266/main.py" | 71 ++++++++++++++++++ "Harjoitusty\303\266/questions.py" | 26 +++++++ testi.txt | 2 - 9 files changed, 145 insertions(+), 2 deletions(-) create mode 100644 "Harjoitusty\303\266/README.md" create mode 100644 "Harjoitusty\303\266/__pycache__/funcsAndClasses.cpython-39.pyc" create mode 100644 "Harjoitusty\303\266/__pycache__/functions.cpython-39.pyc" create mode 100644 "Harjoitusty\303\266/__pycache__/main.cpython-39.pyc" create mode 100644 "Harjoitusty\303\266/__pycache__/questions.cpython-39.pyc" create mode 100644 "Harjoitusty\303\266/funcsAndClasses.py" create mode 100644 "Harjoitusty\303\266/main.py" create mode 100644 "Harjoitusty\303\266/questions.py" delete mode 100644 testi.txt diff --git "a/Harjoitusty\303\266/README.md" "b/Harjoitusty\303\266/README.md" new file mode 100644 index 0000000..006d48f --- /dev/null +++ "b/Harjoitusty\303\266/README.md" @@ -0,0 +1,5 @@ +Ohjelma on peli, jossa kysytään Counter-Strike : Global Offensiveen liittyviä kysymyksiä. +Ohjelma arpoo listasta 10 kysymystä, ja esittää 4 eri vastausvaihtoehtoa, joista käyttäjä valitsee A, B, C tai D +Lopussa ohjelma kertoo käyttäjälle pistemäärän. + +Ohjelma käynnistyy suorittamalla main.py ohjelma. \ No newline at end of file diff --git "a/Harjoitusty\303\266/__pycache__/funcsAndClasses.cpython-39.pyc" "b/Harjoitusty\303\266/__pycache__/funcsAndClasses.cpython-39.pyc" new file mode 100644 index 0000000000000000000000000000000000000000..10dbca77e45e6224a1dc9c2aa2d55e3069bcc7d7 GIT binary patch literal 1324 zcmZux%W4!s6s<>hPtRmRVi4a*P&e%&<gpWx3?nM217h4X14YwSF_ZLTQdN_X&{-v4 zVGt5`@dNw;|Dv|8`~Wwuyj3$3(!px(>(u+!xt+|;wh**V=X>(SN9dOgt~Lt6I*57& ziX)CQl;ap<>ywPc1T4*H?!{j2$3Ea5_fJq9@PIeKHeMqh^5zNR&0`XWoP0!4>o=^0 zB5bHmie5xapbnH4x$%l57pd)>HVh5{>4K<-pfns|hsXtuIXT8hs0hKM*5e44_IidC z+R!vp#!oYm$cRV}=1F@I*b=h~B%9#>c@L`ltp7;~srp*Ty|VvOs2yDn`)|upHtKI| zbXS+xmit<#&b~?Hb~(@^r4N4o=x>gSRCNm8%@U=AS{fe62CN7<L@EG<aEM#PVX5ty zw&@^uqi=v}bcQQ@j*n=C&qzhjA-R{B=P<8^`401ISWuBOTG3O;PKCC;Q}orX<4}kk z>eo<+92(S6h#cCuL@8vI^bX0=VicM{CIv5Z6Qo<^AQcdcyxaqu42PoNW;QLQ6shhM zYF|jx-j`+Zc^s_NqSaco7BvjsH8?X~Hc;B&G$#8iAgds2?zzUwa@DjGt&?=?ozU=V zHvv(1Y;tj{_T9qcPu_;U8mH`F%c*q`^#GJWG3E%U44eYWQck%C7KjXY4-EZKbW-=E zFxEEfUy||>1QjHmp^AXU6$MQy4>YZO(4HeE?p^pM+#Ly}2W27WV3wS>>V{PdpkOCY ziELBev&er2T+c(u*q|6_#-6|g<;oZblkcz%hhCZvNNpKSoAqr0I08Ne2MB{E&yFXS zOzc%cH60QD;zfBECPi4@2Xp;Q4aSs~jM;US%@M+fGvlK;yca<h7_)WGm}xPVmwc32 zzs=b0D9Oe>(mso{^?qdoduVB|DeZed22r-MLmUPUiJHdC6TKzvzH$bXA*FJKKmG;S e(sOih!~eIk37?M-^ulJz<+KfTJWs;8aPA*LcowMu literal 0 HcmV?d00001 diff --git "a/Harjoitusty\303\266/__pycache__/functions.cpython-39.pyc" "b/Harjoitusty\303\266/__pycache__/functions.cpython-39.pyc" new file mode 100644 index 0000000000000000000000000000000000000000..80bede53751f61100bed1ac2aa53b72255917f1b GIT binary patch literal 581 zcmY+C%SyvQ6ozMVYbmX|5OL|!fRtW#BBE4KP`a^hN;Y9K+SD`?XC^I`xbrQF*t*jP z@CAH}*}C!p+<P(=ZO(B1GyiwOFqinXS_MJu?!EcX7@^PHtcC&R2vTf<1Sr4}>Z8C2 z%tzG60lq}8^#vW&C8fOlMn1P8JCNc9M4~y)@B%-W8J-)Nxxo0JS(;e|W@}~_n3EZE zGc#wfiwq5|8G6#|XbMhKyFkHd>J%tAO-p~&gmW0(d!xSNmX*W(IA9~?kO2z`1y4t8 z4AoB(8V9OI80VD8<5)~6SJeq;@y*gS3$9ggZMUTGox+i_qEJYMN#B?>AzP5`SH#!g zp1w~($i8<aC>Nfje9XKPDsCl9ymOXDsn_duT8(zYlalCq=JO#7Wh&(K<K4SXV<JNq zi+VCuRbNV<3@)gIh4SYR+aL&63S$c|2j766Yw-NV^;~agMb@FA$_FDBq!B%Yp9P8h H+p_fofKQN8 literal 0 HcmV?d00001 diff --git "a/Harjoitusty\303\266/__pycache__/main.cpython-39.pyc" "b/Harjoitusty\303\266/__pycache__/main.cpython-39.pyc" new file mode 100644 index 0000000000000000000000000000000000000000..dc0fdaa086d09a51adff49e689cc2d2833df4ed3 GIT binary patch literal 925 zcmZ8fO>fgM7`D?iNwcJdu`ghUB5|pN#@Hl~CWP3!0}>NV+TakCLzKL0y{2(%JNvr! z4{)E5TC@wCI3UhQ{TIG++7IBui8mPoHe2t<W53U1$8SR4cL|Qt>gVu#iI5*T_<vLo zJV%ocC?PS4X+nZL8VT(gfkE@Ul$3gAU{V5PR0eZQ0}HHu8_hwhpt)@`m}-;Q{73_@ zO#(kAK^3hAH{$Y;ZjyIjf}1c6-jJe-0Ty`RU)LDgferrX)|g;TEw-NI{C_8!qZzQq zIe!|NvxSn6%3d&sD|0y>e1-Yg9@1a|7Dl(nB#&TsjrUX-FdaJur&=gi5m%skN@5pk zr{sfK@B>_(`kQ&z_fg$P^*b@$A&u&J{*JF2RC}RPVbs|Ir9dDq54M<84O7!~O*b@c zYPxxzx8WS$m}Il)c8(|C)a0yw5K0whT?vw{)lcl#tP3o?mn~w+HfjK_*Rd{1u(kuL z3wgFy|3x2WdFS3v&L(F987EV_S;8-M=C=h%Sr5}=)nRG7u6P}em|AMw)s_g;nD=yT zFH0l2p2p22lz6-_P)=6{8A!!=Dh2*5L|ajZvj{XDXg}gYK%~}Fc?d##hk~c=3-IU) zTDgK&wH+1=sqLhAAgTR}<bo`<)#of#7za(BrAn9aifufT>2e>xO=(kdq44I=;|HLf z%R6d%q{}SrXG*)71o7u)ZWQ*J3KMpM8hf9JxQ|~_xSt!CMQg1$SS(xEs{`KJ1ld)* z-+IZjBx~*NHdmHcms?6jMSKy8ea=)S751yu3t76<Ki1CE9*?sGp5^V7kI^~Qqn_c? c8N;DwF+J+gMKp)H#l(nvIm-Q<;Tki>Z`>>iH2?qr literal 0 HcmV?d00001 diff --git "a/Harjoitusty\303\266/__pycache__/questions.cpython-39.pyc" "b/Harjoitusty\303\266/__pycache__/questions.cpython-39.pyc" new file mode 100644 index 0000000000000000000000000000000000000000..38609741a818e228a3da82480f37c83228c616b1 GIT binary patch literal 2815 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 literal 0 HcmV?d00001 diff --git "a/Harjoitusty\303\266/funcsAndClasses.py" "b/Harjoitusty\303\266/funcsAndClasses.py" new file mode 100644 index 0000000..5bc8470 --- /dev/null +++ "b/Harjoitusty\303\266/funcsAndClasses.py" @@ -0,0 +1,43 @@ +from math import tan +import random +from os import system, name + +def clear(): + if name == "nt": + _ = system('cls') + else: + _ = system('clear') + + +#funktion parametrit: +# q = kysymys, joka on arvottu questions.py sijaitsevasta listasta +# l = kirjaimet A, B, C ja D, jotka ovat listassa pääohelmassa +# list = lista, johon uudessa muodossa olevat vastaukset menevät +# c = oikea vastaus +# w1-w3 = väärät vastaukset + +#funktio attachLetter ottaa pääohjelmasta satunnaisesti vastauksen, jonka se muuttaa muotoon "A. tämä on vastaus." +def attachLetter(q, l, list, c, w1, w2, w3): + c = random.choice(l) + l.remove(c) + w1 = random.choice(l) + l.remove(w1) + w2 = random.choice(l) + l.remove(w2) + w3 = random.choice(l) + list.append(f"{c}. {q.correctAnswer}") + list.append(f"{w1}. {q.wrongAnswer1}") + list.append(f"{w2}. {q.wrongAnswer2}") + list.append(f"{w3}. {q.wrongAnswer3}") + return c + + +class QnA: + def __init__(self, question, correctAnswer, wrongAnswer1, wrongAnswer2, wrongAnswer3): + self.question = question + self.correctAnswer = correctAnswer + self.wrongAnswer1 = wrongAnswer1 + self.wrongAnswer2 = wrongAnswer2 + self.wrongAnswer3 = wrongAnswer3 + def __str__(self): + return f"{self.question} {self.correctAnswer} {self.wrongAnswer1} {self.wrongAnswer2} {self.wrongAnswer3}" \ No newline at end of file diff --git "a/Harjoitusty\303\266/main.py" "b/Harjoitusty\303\266/main.py" new file mode 100644 index 0000000..9dfe55d --- /dev/null +++ "b/Harjoitusty\303\266/main.py" @@ -0,0 +1,71 @@ +import random +from funcsAndClasses import attachLetter, clear +from questions import qList +print("\nTervetuloa pelaamaan CS:GO- visaa!\n") +print("Sinulta kysytään 10 kysymystä, joihin kaikkiin saat neljä vastausvaihtoehtoa.\n") +print("Kysymyksiin vastataan A, B, C tai D (kirjasinkoolla ei ole väliä.)\n\n") +input("Paina enter jatkaaksesi...") +clear() +while True: + letters = ["A", "B", "C", "D"] + letterAnswers = [] + points = 0 + qCount = 0 + + for i in range(10): + q = random.choice(qList) + qList.remove(q) + #käytetään attachLetter funktiota, jolle arvotaan kysymys-olio rivillä 18, ja joka palauttaa vastaukset muodossa A. Tämä on kysymys? ja laittaa ne satunnaiseen järjestykseen + correctAnswer = attachLetter(q, letters, letterAnswers, q.correctAnswer, q.wrongAnswer1, q.wrongAnswer2, q.wrongAnswer3) + letterAnswers.sort() + qCount +=1 + print("\n" + q.question + "\n") + for x in letterAnswers: + print(x) + userAnswer = input("\nSyötä vastauksesi: ") + userAnswer = userAnswer.capitalize() + clear() + if userAnswer == correctAnswer: + print("\nOikein!") + points += 1 + if qCount < 10: + print(f"\nPisteesi tällä hetkellä: {points}/{qCount}") + else: + pass + input("\nPaina enter jatkaaksesi...") + clear() + else: + print("\nVäärin!") + if qCount < 10: + print(f"\nPisteesi tällä hetkellä: {points}/{qCount}") + else: + pass + input("\nPaina enter jatkaaksesi...") + clear() + letterAnswers.clear() + #Palautetaan kirjainlista alkuperäiseen muotoon, koska attachLetter funktio poistaa siitä elementtejä + letters = ["A", "B", "C", "D"] + + #Määritellään loppukommentti pistemäärän mukaan + if points == 0: + print(f"Tuloksesi: {points}/{qCount}, yrititkö edes?") + elif points > 0 and points <= 3: + print(f"Tuloksesi: {points}/{qCount}, et taida tietää kovin paljoa Counter-Strikestä.") + elif points > 3 and points <= 6: + print(f"Tuloksesi: {points}/{qCount}, tiedät selvästi jonkin verran Counter-Strikestä!") + elif points > 6 and points <= 9: + print(f"Tuloksesi: {points}/{qCount}, sehän meni hyvin!") + elif points == 10: + print(f"Tuloksesi: {points}/{qCount}, tiedät selvästi kaiken Counter-Strikestä!") + + print("Haluatko pelata uudestaan?") + print("1 = Kyllä") + print("2 = Ei") + restart = input() + #Jos pelaaja haluaa pelata uudestaan, siirrytään takaisin ohjelman alkuun + if restart == "1": + clear() + continue + else: + input("Paina enter poistuaksesi") + break \ No newline at end of file diff --git "a/Harjoitusty\303\266/questions.py" "b/Harjoitusty\303\266/questions.py" new file mode 100644 index 0000000..08c7973 --- /dev/null +++ "b/Harjoitusty\303\266/questions.py" @@ -0,0 +1,26 @@ +from funcsAndClasses import QnA + +q1 = QnA("Kenellä näistä pelaajista on eniten esiintymisiä HLTV:n top 20-listalla?", 'Nicolai "device" Reedtz', 'Ladislav "GuardiaN" Kovács', 'Nikola "NiKo" Kovac', 'Olexandr "s1mple" Kostyliev') +q2 = QnA("Mikä näistä joukkueista on voittanut Intel Grand Slamin?", 'Team Liquid', 'Ninjas in Pyjamas', 'fnatic', 'SK Gaming') +q3 = QnA('Missä näistä joukkueista Aleksi "allu" Jalli ei ole ikinä pelannut yhtäkään ottelua?', 'Cloud9', 'Complexity Gaming', 'OpTic Gaming', 'Team Liquid') +q4 = QnA("Kuinka monta suomalaista on pelannut Major-turnauksissa kautta aikain?", '14', '13', '10', '17') +q5 = QnA("Miksi kutsutaan vuoden 2021 Major-turnauksen karsintoja?", 'RMR-turnaus', 'Minor-turnaus', 'Challengers-turnaus', 'Major Closed Qualifier-turnaus') +q6 = QnA("Kuka on voittanut kaikkiaan eniten palkintorahaa?", 'Peter "dupreeh" Rasmussen', 'Nicolai "device" Reedtz', 'Jakey "Stewie2k" Yip', 'Olexandr "s1mple" Kostyliev') +q7 = QnA("Missä näistä maista on järjestetty vain yksi Major-turnaus?", 'Iso-Britannia', 'Puola', 'Saksa', 'USA') +q8 = QnA("Mikä on Denis Sharipovin nimimerkki?", 'electronic', 'denis', 'boombl4', 'Dosia') +q9 = QnA("Missä näistä turnauksista oli isoin palkintopotti?", 'WESG 2016', 'BLAST Premier: Global Final 2020', 'ELEAGUE Major 2017', 'FLASHPOINT Season 1') +q10 = QnA("Kuka näistä pelaajista ei ole ikinä voittanut Major-turnausta?", 'GuardiaN', 'Dosia', 'fnx', 'kioShiMa') +q11 = QnA("Mikä on ZyWoon oikea nimi?", 'Mathieu Herbaut', 'Dan Madesclaire', 'Vincent Cervoni', 'Richard Papillon') +q12 = QnA("Mistä maasta s1mple on kotoisin?", 'Ukrainasta', 'Venäjältä', 'Valko-Venäjältä', 'Ranskasta') +q13 = QnA("Kuka näistä suomalaisista pelaajista on voittanut eniten palkintorahaa?", 'allu', 'suNny', 'Aleksib', 'sergej') +q14 = QnA('Kuinka monta Major-turnausta Aleksi "allu" Jalli on voittanut?', 'Ei yhtään', '2', '5' ,'1') +q15 = QnA("Mikä on zehNin oikea nimi?", 'Jesse Linjala', 'Jaakko Virolainen', 'Miikka Kemppi' ,'Jere Salo') +q16 = QnA("Kuka näistä suomalaisista pelaajista ei ole ikinä pelannut Major-turnauksessa?", 'Jamppi', 'zehN', 'xartE' ,'diSTURBED') +q17 = QnA("Mikä joukkue voitti ensimmäisen Major-turnauksen vuonna 2013?", 'fnatic', 'NiP', 'Astralis' ,"Na'Vi") +q18 = QnA("Kuka oli maailman paras pelaaja vuonna 2019 HLTV-sivuston mukaan?", 'ZywOo', 's1mple', 'suNny' ,'electronic') +q19 = QnA("Kuka oli maailman paras pelaaja vuonna 2018 HLTV-sivuston mukaan?", 's1mple', 'ZywOo', 'device' ,'allu') +q20 = QnA("Mikä joukkue on voittanut eniten Major-turnauksia?", 'Astralis', 'fnatic', "Na'Vi" ,'ENCE') + +# q = QnA("", '', '', '' ,'') + +qList = [q1, q2, q3, q4, q5, q6, q7,q8 ,q9, q10, q11, q12, q13, q14, q15, q16, q17, q18, q19, q20] \ No newline at end of file diff --git a/testi.txt b/testi.txt deleted file mode 100644 index b9c5828..0000000 --- a/testi.txt +++ /dev/null @@ -1,2 +0,0 @@ -Creating a file with Python! -Today is 1.1.2021 \ No newline at end of file -- GitLab