diff --git "a/Harjoitusty\303\266/README.md" "b/Harjoitusty\303\266/README.md"
new file mode 100644
index 0000000000000000000000000000000000000000..006d48f1e5f463d7453b93ad895221b19a78b035
--- /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
Binary files /dev/null and "b/Harjoitusty\303\266/__pycache__/funcsAndClasses.cpython-39.pyc" differ
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
Binary files /dev/null and "b/Harjoitusty\303\266/__pycache__/functions.cpython-39.pyc" differ
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
Binary files /dev/null and "b/Harjoitusty\303\266/__pycache__/main.cpython-39.pyc" differ
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
Binary files /dev/null and "b/Harjoitusty\303\266/__pycache__/questions.cpython-39.pyc" differ
diff --git "a/Harjoitusty\303\266/funcsAndClasses.py" "b/Harjoitusty\303\266/funcsAndClasses.py"
new file mode 100644
index 0000000000000000000000000000000000000000..5bc8470856c0c495ddc392f7b40d80aab1372861
--- /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 0000000000000000000000000000000000000000..9dfe55da539478e5bd241cf9e955479bc188559a
--- /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 0000000000000000000000000000000000000000..08c797315e3f236f64465470d1613cea50293366
--- /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 b9c5828624b274554598d1529bed3e329f95cdb0..0000000000000000000000000000000000000000
--- 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