mirror of
				https://gitea.blesmrt.net/mikaela/scripts.git
				synced 2025-11-04 03:17:32 +01:00 
			
		
		
		
	python/taitotalo: import day three
This commit is contained in:
		
							parent
							
								
									23d0a7241f
								
							
						
					
					
						commit
						63de2e0f6f
					
				@ -5,10 +5,11 @@ root = true
 | 
			
		||||
indent_style = space
 | 
			
		||||
indent_size = 4
 | 
			
		||||
max_line_length = 79
 | 
			
		||||
end_of_line = crlf
 | 
			
		||||
 | 
			
		||||
[*.md]
 | 
			
		||||
end_of_line = lf
 | 
			
		||||
 | 
			
		||||
[*.py]
 | 
			
		||||
profile = black
 | 
			
		||||
max_line_length = 79
 | 
			
		||||
#end_of_line = crlf
 | 
			
		||||
 | 
			
		||||
[*.md]
 | 
			
		||||
end_of_line = lf
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										4
									
								
								python/taitotalo/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								python/taitotalo/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,4 @@
 | 
			
		||||
uusi.txt
 | 
			
		||||
# This is intentionally in tree at least until the script becomes better. If
 | 
			
		||||
# it does...
 | 
			
		||||
kanta.tsv
 | 
			
		||||
							
								
								
									
										2
									
								
								python/taitotalo/kanta.tsv
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								python/taitotalo/kanta.tsv
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,2 @@
 | 
			
		||||
Username	Password
 | 
			
		||||
admin	adminpw
 | 
			
		||||
		
		
			
  | 
							
								
								
									
										56
									
								
								python/taitotalo/main10.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										56
									
								
								python/taitotalo/main10.py
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,56 @@
 | 
			
		||||
"""
 | 
			
		||||
Kirjoita ohjelma joka
 | 
			
		||||
Tulostaa Tervetuloa
 | 
			
		||||
Seuraavaksi # olen nimi olen ikä
 | 
			
		||||
Seuraavaksi ohjelmaan pitää syöttää nimi ja ikä
 | 
			
		||||
Tulostus syötetty nimi ja ikä
 | 
			
		||||
Kolmas tulostus
 | 
			
		||||
ikä tarkistus
 | 
			
		||||
"""
 | 
			
		||||
 | 
			
		||||
# Vaaditaan virhe-poistumiseen
 | 
			
		||||
import sys
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def main():
 | 
			
		||||
    """
 | 
			
		||||
    Pääfunktio.
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    print("Tervetuloa")
 | 
			
		||||
 | 
			
		||||
    nimeni = "Python3-koodinpätkä."
 | 
			
		||||
    ikani = int(0)
 | 
			
		||||
 | 
			
		||||
    print("Olen", ikani, "-vuotias", nimeni)
 | 
			
		||||
    nimi = input("Mikä sinun nimesi on?: ")
 | 
			
		||||
    # Odotetaan käyttäjän mahdollisesti pyrkivän syöttämään muutakin kuin numeroita ja varaudutaan asiaan
 | 
			
		||||
    try:
 | 
			
		||||
        # Tallennetaan kokonaislukuna käyttäjältä pyydetty ikä
 | 
			
		||||
        ika = int(input("Entä kuinka vanha olet? "))
 | 
			
		||||
    # Annetaan käyttäjäystävällinen virheilmoitus ja poistutaan virhekoodilla, jos käyttäjä ei syöttänyt numeroita
 | 
			
		||||
    except ValueError:
 | 
			
		||||
        print("Syötä ikäsi numeroina!")
 | 
			
		||||
        sys.exit(1)
 | 
			
		||||
 | 
			
		||||
    # Tulostetaan käyttäjän tiedot
 | 
			
		||||
    # print("Olet", nimi, "ja olen", ika, "-vuotias")
 | 
			
		||||
    print("Olet", ika, "-vuotias", nimi)
 | 
			
		||||
 | 
			
		||||
    # Aloitetaan kokeilemalla onko käyttäjä alle 18.
 | 
			
		||||
    if ika < 18:
 | 
			
		||||
        print("Olet alaikäinen")
 | 
			
		||||
    # Jos käyttäjä ei ollut alaikäinen, varmistetaan onko hän 18 ja onko hän alle 65.
 | 
			
		||||
    elif (ika >= 18) and (ika < 65):
 | 
			
		||||
        print("Olet täysi-ikäinen")
 | 
			
		||||
    # Mikäli ikä on 65 tai yli, käyttäjä on seniori.
 | 
			
		||||
    elif ika >= 65:
 | 
			
		||||
        print("Olet seniori")
 | 
			
		||||
    # Muussa tapauksessa tulostetaan virheilmoitus.
 | 
			
		||||
    else:
 | 
			
		||||
        print("Jokin meni pieleen. Yritä uudelleen.")
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Jos suoritamme koodia suoraan skriptistä importtauksen sijaan, suoritetaan pääfunktio.
 | 
			
		||||
if __name__ == "__main__":
 | 
			
		||||
    main()
 | 
			
		||||
							
								
								
									
										34
									
								
								python/taitotalo/main11.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								python/taitotalo/main11.py
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,34 @@
 | 
			
		||||
"""
 | 
			
		||||
Tulostaa numerot 0-9
 | 
			
		||||
"""
 | 
			
		||||
 | 
			
		||||
# Vaaditaan virhe-poistumiseen
 | 
			
		||||
# import sys
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def main():
 | 
			
		||||
    """
 | 
			
		||||
    Pääfunktio.
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    # Alustetaan kierros ennen silmukkaa ja kerrotaan moneen halutaan
 | 
			
		||||
    kierros = 0
 | 
			
		||||
    # Kohteeseen täytyy lisätä 1 tai viimeinen haluttu numero ei toistu.
 | 
			
		||||
    kohde = 9 + 1
 | 
			
		||||
 | 
			
		||||
    # Silmukoidaan kun kierros on alle kohteen
 | 
			
		||||
    while kierros < kohde:
 | 
			
		||||
        print("Kierros", kierros)
 | 
			
		||||
        # Nostetaan kierrosta, jottei silmukoida ikuisesti kierrosta 1
 | 
			
		||||
        kierros += 1
 | 
			
		||||
 | 
			
		||||
        # Lopuksi pysähdytään
 | 
			
		||||
        if kierros > kohde:
 | 
			
		||||
            break
 | 
			
		||||
 | 
			
		||||
    print()
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Jos suoritamme koodia suoraan skriptistä importtauksen sijaan, suoritetaan pääfunktio.
 | 
			
		||||
if __name__ == "__main__":
 | 
			
		||||
    main()
 | 
			
		||||
							
								
								
									
										44
									
								
								python/taitotalo/main12.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								python/taitotalo/main12.py
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,44 @@
 | 
			
		||||
"""
 | 
			
		||||
Plussataan lukuja, kunnes käyttäjä sanoo -1
 | 
			
		||||
"""
 | 
			
		||||
 | 
			
		||||
# Vaaditaan virhe-poistumiseen
 | 
			
		||||
# import sys
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def main():
 | 
			
		||||
    """
 | 
			
		||||
    Pääfunktio.
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    # Tähän plussataan luvut
 | 
			
		||||
    laskuri = int(0)
 | 
			
		||||
 | 
			
		||||
    # Ikuisuuslooppi
 | 
			
		||||
    while True:
 | 
			
		||||
 | 
			
		||||
        # Varaudutaan virheellisiin syötteisiin
 | 
			
		||||
        try:
 | 
			
		||||
            # Pyydetään käyttäjän syötettä
 | 
			
		||||
            # syote = int(input("Anna luku. -1 lopettaa. "))
 | 
			
		||||
            syote = int(input("Anna luku. 0 lopettaa. "))
 | 
			
		||||
 | 
			
		||||
            # Poistutaan kun -1 syötetään
 | 
			
		||||
            # if syote == -1:
 | 
			
		||||
            if syote == 0:
 | 
			
		||||
                print("Ohjelma päättyi. Antamiesi lukujen summa oli", laskuri)
 | 
			
		||||
                # print("Ohjelma päättyi.")
 | 
			
		||||
                break
 | 
			
		||||
 | 
			
		||||
            # Lisätään syöte laskuriin
 | 
			
		||||
            laskuri += syote
 | 
			
		||||
            print("Antamiesi lukujen summa on", laskuri)
 | 
			
		||||
 | 
			
		||||
        # Jos lukua ei syötetty.
 | 
			
		||||
        except ValueError:
 | 
			
		||||
            print("Syötä luku!")
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Jos suoritamme koodia suoraan skriptistä importtauksen sijaan, suoritetaan pääfunktio.
 | 
			
		||||
if __name__ == "__main__":
 | 
			
		||||
    main()
 | 
			
		||||
							
								
								
									
										23
									
								
								python/taitotalo/main13.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								python/taitotalo/main13.py
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,23 @@
 | 
			
		||||
"""
 | 
			
		||||
Lisää tekstiä tiedostoon
 | 
			
		||||
"""
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def main():
 | 
			
		||||
    """
 | 
			
		||||
    Pääfunktio.
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    # Kysytään mitä käyttäjä haluaa kirjoittaa
 | 
			
		||||
    syote = input("Mitä haluaisit kirjoittaa tiedostoon? ") + "\r\n"
 | 
			
		||||
    # Avataan uusi.txt kirjoitustilassa. HUOM! Ylikirjoittaa edellisen
 | 
			
		||||
    # sisällön, käytä "a" lisätäksesi! Pylint valittaa jollei määritetä
 | 
			
		||||
    # merkistöä.
 | 
			
		||||
    with open("uusi.txt", "a", encoding="utf-8", newline="\r\n") as f:
 | 
			
		||||
        f.write(syote)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Jos suoritamme koodia suoraan skriptistä importtauksen sijaan, suoritetaan
 | 
			
		||||
# pääfunktio.
 | 
			
		||||
if __name__ == "__main__":
 | 
			
		||||
    main()
 | 
			
		||||
							
								
								
									
										87
									
								
								python/taitotalo/main14.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										87
									
								
								python/taitotalo/main14.py
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,87 @@
 | 
			
		||||
"""
 | 
			
		||||
1. Tallenna uusi salasana
 | 
			
		||||
2. Hae tallennettu salasana
 | 
			
		||||
3. Poista tallennettu salasana
 | 
			
		||||
4. Lopeta
 | 
			
		||||
Valitse toiminto (1/2/3/4):
 | 
			
		||||
"""
 | 
			
		||||
 | 
			
		||||
# import sqlite3
 | 
			
		||||
# import secrets
 | 
			
		||||
# Tuodaan csv kirjasto nimellä tsv, koska oikeasti käsittelen tsv tiedostoja
 | 
			
		||||
import csv as tsv
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def main():
 | 
			
		||||
    """
 | 
			
		||||
    Pääfunktio.
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    print("TODO! TÄSSÄ PITÄISI OLLA TUNNISTAUTUMINEN ENSIN!")
 | 
			
		||||
    print("Tervetuloa \n")
 | 
			
		||||
    # Pysytään käynnissä:
 | 
			
		||||
    while True:
 | 
			
		||||
        # Toimintovalikko
 | 
			
		||||
        print(
 | 
			
		||||
            "Tallenna uusi salasana, valitse 1. Hae tallennettu salasana",
 | 
			
		||||
            "valitsemalla 2. Poista tallennettu salasana valitsemalla 3.",
 | 
			
		||||
            "Lopeta valitsemalla 4.",
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        # Vaihtoehdot
 | 
			
		||||
        try:
 | 
			
		||||
            valinta = int(input("Valinta? "))
 | 
			
		||||
            match valinta:
 | 
			
		||||
                case 1:
 | 
			
		||||
                    tallennasalasana()
 | 
			
		||||
                case 2:
 | 
			
		||||
                    haesalasana()
 | 
			
		||||
                case 3:
 | 
			
		||||
                    poistasalasana()
 | 
			
		||||
                case 4:
 | 
			
		||||
                    print("Ohjelma päättyy.")
 | 
			
		||||
                    break
 | 
			
		||||
                case _:
 | 
			
		||||
                    print("\nVirheellinen valinta.\n")
 | 
			
		||||
        except ValueError:
 | 
			
		||||
            print("Tämä valikko hyväksyy vain lukuja.")
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def tallennasalasana():
 | 
			
		||||
    """
 | 
			
		||||
    Salasanan tallennus.
 | 
			
		||||
    """
 | 
			
		||||
    print("Tervetuloa salasanan tallennukseen.")
 | 
			
		||||
    # with open("kanta.tsv", "w", newline="\n") as kanta:
 | 
			
		||||
    # writer = csv.writer(f)
 | 
			
		||||
    # writer.writerows(someiterable)
 | 
			
		||||
    print("..vaikka tätä ei vielä olekaan olemassa.")
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def haesalasana():
 | 
			
		||||
    """
 | 
			
		||||
    Salasanan haku.
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    # Avataan tiedosto kanta.tsv lukitilassa nimellä kanta.
 | 
			
		||||
    with open("kanta.tsv", newline="\n", encoding="utf-8") as kanta:
 | 
			
		||||
 | 
			
		||||
        # Yksinkertaistetaan kannan luku muuttujaksi.
 | 
			
		||||
        lukija = tsv.reader(kanta, delimiter="\t", quoting=tsv.QUOTE_NONE)
 | 
			
		||||
 | 
			
		||||
        # Kehitysvaiheessa vain luetaan koko kanta.
 | 
			
		||||
        for rivi in lukija:
 | 
			
		||||
            print(rivi)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def poistasalasana():
 | 
			
		||||
    """
 | 
			
		||||
    Salasanan poisto.
 | 
			
		||||
    """
 | 
			
		||||
    print("Salasanan poistoa ei ole vielä implementoitu.")
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Jos suoritamme koodia suoraan skriptistä importtauksen sijaan, suoritetaan
 | 
			
		||||
# pääfunktio.
 | 
			
		||||
if __name__ == "__main__":
 | 
			
		||||
    main()
 | 
			
		||||
@ -1,8 +1,8 @@
 | 
			
		||||
# Tuodaan turtle -kirjasto
 | 
			
		||||
import random
 | 
			
		||||
import turtle
 | 
			
		||||
 | 
			
		||||
# Satunnaislukuja
 | 
			
		||||
import random
 | 
			
		||||
 | 
			
		||||
# ikkkuna = turtle.Screen()
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										46
									
								
								python/taitotalo/main9.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										46
									
								
								python/taitotalo/main9.py
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,46 @@
 | 
			
		||||
"""
 | 
			
		||||
Kivi-sakset-paperi peli!
 | 
			
		||||
"""
 | 
			
		||||
 | 
			
		||||
# Tarvitaan tietokoneen vastauksen päättämiseksi
 | 
			
		||||
import random
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Määritetään pääfunktio
 | 
			
		||||
def main():
 | 
			
		||||
    """
 | 
			
		||||
    Pääfunktio.
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    # Arvotaan tietokoneen valinta
 | 
			
		||||
    tkvalinta = random.sample(["kivi", "sakset", "paperi"], 1)
 | 
			
		||||
    tkvalinta = str(tkvalinta[0])
 | 
			
		||||
    print(tkvalinta)
 | 
			
		||||
    # Pyydetään käyttäjän valinta
 | 
			
		||||
    valinta = input("Valitse 'kivi', 'sakset' tai 'paperi'\n")
 | 
			
		||||
    # print(valinta)
 | 
			
		||||
 | 
			
		||||
    # Verrataan vastauksia
 | 
			
		||||
    if tkvalinta == valinta:
 | 
			
		||||
        print("Tasapeli!", tkvalinta, "ja", valinta)
 | 
			
		||||
    elif tkvalinta == "kivi" and valinta == "sakset":
 | 
			
		||||
        print("Hävisit, kivi voittaa sakset")
 | 
			
		||||
    elif tkvalinta == "sakset" and valinta == "paperi":
 | 
			
		||||
        print("Hävisit, sakset voittaa paperin")
 | 
			
		||||
    elif tkvalinta == "paperi" and valinta == "kivi":
 | 
			
		||||
        print("Voitit, kivi voittaa paperin")
 | 
			
		||||
    elif tkvalinta == "sakset" and valinta == "kivi":
 | 
			
		||||
        print("Voitit, sakset voittavat kiven")
 | 
			
		||||
    elif tkvalinta == "paperi" and valinta == "sakset":
 | 
			
		||||
        print("Voitit, sakset voittavat paperin")
 | 
			
		||||
    else:
 | 
			
		||||
        # Tästä tuli vahingossa catch-all virheellisille syötteille, enkä ole varma toteutinko kaikki skenaariot
 | 
			
		||||
        print(
 | 
			
		||||
            "Joko tilannetta ei ole vielä toteutettu tai annoit virheellisen syötteen. Ilmoittaisitko ongelman kehittäjälle?",
 | 
			
		||||
        )
 | 
			
		||||
        print("Tietokone valitsi:", tkvalinta, "syötteesi oli", valinta)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Jos suoritamme koodia suoraan skriptistä importtauksen sijaan, suoritetaan pääfunktio.
 | 
			
		||||
if __name__ == "__main__":
 | 
			
		||||
    main()
 | 
			
		||||
							
								
								
									
										15
									
								
								python/taitotalo/pohja.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								python/taitotalo/pohja.py
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,15 @@
 | 
			
		||||
"""
 | 
			
		||||
Kuvaus
 | 
			
		||||
"""
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def main():
 | 
			
		||||
    """
 | 
			
		||||
    Pääfunktio.
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Jos suoritamme koodia suoraan skriptistä importtauksen sijaan, suoritetaan
 | 
			
		||||
# pääfunktio.
 | 
			
		||||
if __name__ == "__main__":
 | 
			
		||||
    main()
 | 
			
		||||
							
								
								
									
										5
									
								
								python/taitotalo/pyproject.toml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								python/taitotalo/pyproject.toml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,5 @@
 | 
			
		||||
[tool.black]
 | 
			
		||||
line-length = "79"
 | 
			
		||||
 | 
			
		||||
[tool.pylint.format]
 | 
			
		||||
max-line-length = 79
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user