mirror of
https://gitea.blesmrt.net/mikaela/scripts.git
synced 2024-12-22 18:52:46 +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…
Reference in New Issue
Block a user