Skip to content
Snippets Groups Projects
Commit 532d2c0d authored by AB6912's avatar AB6912
Browse files

harjoitustyö

parent abd94faf
No related branches found
No related tags found
No related merge requests found
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
File added
File added
File added
File added
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
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
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
Creating a file with Python!
Today is 1.1.2021
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment