def Taulutesti(self, taulunnumero, asetukset): numerot = list(range(1, asetukset.maksimi + 1)) secrets.SystemRandom().shuffle(numerot) oikeat = 0 vaarat = 0 Piirustukset().PirraViiva() Tulosta.Normaali("Kertotaulu " + str(taulunnumero) + " valittu.\n") Tulosta.Normaali("Aloitetaan") Piirustukset().PirraViiva() for indeksi, kysymys in enumerate(numerot): Tulosta.Normaali("Kysymys (" + str(indeksi + 1) + "/" + str(asetukset.maksimi) + ")") Tulosta.Normaali("") if asetukset.tekijakysely: tulo = kysymys * taulunnumero Tulosta.Keltainen("Paljonko on " + str(taulunnumero) + " * X = " + str(tulo) + " ?") oikeavastaus = kysymys else: Tulosta.Keltainen("Paljonko on " + str(kysymys) + " * " + str(taulunnumero) + " ?") oikeavastaus = kysymys * taulunnumero Tulosta.Normaali("") if asetukset.vinkit: self.TulostaVinkit(kysymys, taulunnumero) aika = 999999 if asetukset.ajastus: aika = asetukset.maksimiaika vastausnumero = LueKayttaja().LueNumeroAjastettu( aika, len(str(oikeavastaus))) if vastausnumero == oikeavastaus: Tulosta.Korostus("Oikein") Piirustukset().PirraLaivaAuto() oikeat = oikeat + 1 else: Tulosta.Korostus("Väärin. Oikea vastaus on " + str(oikeavastaus)) vaarat = vaarat + 1 Piirustukset().PirraViiva() Tulosta.Normaali("************************") Tulosta.Normaali("* Oikein " + str(oikeat) + " * Väärin " + str(vaarat) + " *") Tulosta.Normaali("************************") if vaarat == 0: Tulosta.Normaali("Erittäin hyvä!") Piirustukset().PirraSatunnainen() Tulosta.Normaali("") else: Tulosta.Normaali("Harjoittele vielä!")
def Koe(self, otsikko, sanat, asetukset): sanalista = list(sanat.keys()) random.shuffle(sanalista) oikeat = 0 vaarat = 0 Piirustukset().PirraViiva() Tulosta.Normaali(otsikko + " valittu\n") Tulosta.Normaali("Aloitetaan") Piirustukset().PirraViiva() for indeksi, kysymys in enumerate(sanalista): Tulosta.Normaali("Kysymys (" + str(indeksi + 1) + "/" + str(len(sanalista)) + ")") Tulosta.Normaali("") Tulosta.Keltainen(kysymys + " ?") Tulosta.Normaali("") oikeavastaus = sanat[kysymys] if asetukset.ajastus: vastaus = LueKayttaja().LueSanaAjastettu(asetukset.maksimiaika) else: vastaus = LueKayttaja().LueVastausSana() if vastaus == oikeavastaus: Tulosta.Korostus("Oikein") Piirustukset().PiirraTahti() oikeat = oikeat + 1 else: Tulosta.Korostus("Väärin. Oikea vastaus on " + str(oikeavastaus)) if vastaus.lower() == oikeavastaus.lower(): Tulosta.Normaali("Muista isot kirjaimet") vaarat = vaarat + 1 Piirustukset().PirraViiva() Tulosta.Normaali("************************") Tulosta.Normaali("* Oikein " + str(oikeat) + " * Väärin " + str(vaarat) + " *") Tulosta.Normaali("************************") if vaarat == 0: Tulosta.Normaali("Erittäin hyvä!") Piirustukset().PirraSatunnainen() Tulosta.Normaali("") else: Tulosta.Normaali("Harjoittele vielä!")