Exemple #1
0
    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ä!")
Exemple #2
0
    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ä!")