mirror of
https://gitea.blesmrt.net/mikaela/scripts.git
synced 2025-01-03 16:52:31 +01:00
python/taitotalo: add main{6,7,8}.py, requirements.txt & update .gitattributes
This commit is contained in:
parent
24d80142ae
commit
b40b38c225
6
python/taitotalo/.gitattributes
vendored
6
python/taitotalo/.gitattributes
vendored
@ -1,4 +1,8 @@
|
|||||||
|
# This is for doctoc should I decide to use it in the future
|
||||||
|
*.md text eol=lf
|
||||||
|
# These files have been mostly modified from Windows in this directory and
|
||||||
|
# OneDrive kept them as crlf
|
||||||
*.py text eol=crlf
|
*.py text eol=crlf
|
||||||
.editorconfig text eol=crlf
|
.editorconfig text eol=crlf
|
||||||
.gitattributes text eol=crlf
|
.gitattributes text eol=crlf
|
||||||
*.md text eol=lf
|
requirements.txt text eol=crlf
|
||||||
|
40
python/taitotalo/main6.py
Normal file
40
python/taitotalo/main6.py
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
"""
|
||||||
|
Kysytään käyttäjältä kaksi lukua ja lasketaan summa, erotus ja tulo.
|
||||||
|
Tarkistetaan myös, ettei toinen luku ole nolla ja suoritetaan jakolasku.
|
||||||
|
"""
|
||||||
|
|
||||||
|
# Tuodaan sys-kirjasto, jotta voidaan poistua myöhemmin virhetilanteessa.
|
||||||
|
import sys
|
||||||
|
|
||||||
|
|
||||||
|
# Määritetään pääfunktio, jotta voidaan importata tämä kirjasto muualta.
|
||||||
|
def main():
|
||||||
|
"""
|
||||||
|
Pääfunktio.
|
||||||
|
"""
|
||||||
|
|
||||||
|
# Pyydetään käyttäjältä kaksi lukua varautuen siihen, ettei käyttäjä syötä lukuja oikeassa muodossa.
|
||||||
|
try:
|
||||||
|
luku1 = float(input("Anna ensimmäinen luku: "))
|
||||||
|
luku2 = float(input("Anna toinen luku: "))
|
||||||
|
# Mikäli käyttäjä syöttää jotakin, mitä emme voi muuttaa float:iksi tai int:iksi, annetaan virheilmoitus ja poistutaan virhekoodiin.
|
||||||
|
except ValueError:
|
||||||
|
print("Syötä luku!")
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
# Tulostetaan laskutoimitukset. Käytetään int siisteyden vuoksi, vaikka uhrataan tuki desimaalien laskemiselle.
|
||||||
|
print(int(luku1), "+", int(luku2), "=", int(luku1 + luku2))
|
||||||
|
print(int(luku1), "-", int(luku2), "=", int(luku1 - luku2))
|
||||||
|
print(int(luku1), "*", int(luku2), "=", int(luku1 * luku2))
|
||||||
|
|
||||||
|
# Varaudutaan siihen, että käyttäjä syöttää luvuksi nollan ja siinä tapauksessa kieltäydytään suorittamasta tehtävää.
|
||||||
|
if luku1 == 0 or luku2 == 0:
|
||||||
|
print("Nollalla ei voi jakaa.")
|
||||||
|
else:
|
||||||
|
# print(luku1, "/", luku2, "=", (luku1 / luku2))
|
||||||
|
print(int(luku1), "/", int(luku2), "=", (luku1 / luku2))
|
||||||
|
|
||||||
|
|
||||||
|
# Jos suoritamme koodia suoraan skriptistä importtauksen sijaan, suoritetaan pääfunktio.
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
66
python/taitotalo/main7.py
Normal file
66
python/taitotalo/main7.py
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
"""
|
||||||
|
Sovellus arpoo luvun ja pyytää käyttäjää arvaamaan sen.
|
||||||
|
"""
|
||||||
|
|
||||||
|
# Tuodaan kirjastot random numeron myöhemmin arpomista varten.
|
||||||
|
import random
|
||||||
|
|
||||||
|
|
||||||
|
# Määritetään pääfunktio
|
||||||
|
def main():
|
||||||
|
"""
|
||||||
|
Pääfunktio.
|
||||||
|
"""
|
||||||
|
# Kutsutaan funktiota
|
||||||
|
arvaa_numero()
|
||||||
|
|
||||||
|
|
||||||
|
# Määritetään tehtävänannossa vaadittu funktio.
|
||||||
|
def arvaa_numero():
|
||||||
|
"""
|
||||||
|
Sovellus oikeasti toteutetaan täällä.
|
||||||
|
"""
|
||||||
|
|
||||||
|
# Luodaan sattumanvaraisesti oikea vastaus tallentaen se kokonaisluvuksi.
|
||||||
|
oikeavastaus = int(random.randrange(0, 10))
|
||||||
|
# Luodaan muuttuja laskemaan yrityäsiä
|
||||||
|
laskuri = 0
|
||||||
|
|
||||||
|
# Debuggausta varten tulostetaan oikea vastaus
|
||||||
|
# print(oikeavastaus)
|
||||||
|
|
||||||
|
while True:
|
||||||
|
|
||||||
|
laskuri += 1
|
||||||
|
|
||||||
|
# Pyydetään käyttäjältä luku varautuen virheelliseen syötteeseen. Se on tärkeää muuttaa int:iksi tai muuten se on string!
|
||||||
|
try:
|
||||||
|
arvaus = int(input("Arvaa numero? "))
|
||||||
|
# Virhesyötteen tapahtuessa
|
||||||
|
except ValueError:
|
||||||
|
print("Et antanut numeroa.")
|
||||||
|
return
|
||||||
|
|
||||||
|
# Jos käyttäjä arvaa oikein, poistutaan loopista
|
||||||
|
if arvaus == oikeavastaus:
|
||||||
|
# Poistetaan taas välilyönti
|
||||||
|
print(
|
||||||
|
"Onnittelut! :)\nArvasit oikein ",
|
||||||
|
laskuri,
|
||||||
|
". yritykselläsi. Luku oli siis ",
|
||||||
|
oikeavastaus,
|
||||||
|
".",
|
||||||
|
sep="",
|
||||||
|
)
|
||||||
|
break
|
||||||
|
|
||||||
|
# Muuten avustetaan käyttäjää antamalla vihje. Printistä myös poistetaan erottavat välilyönnit, jotka tehdään itse, jotta arvauksen ja pisteen väliin ei tule välilyöntejä
|
||||||
|
elif arvaus < oikeavastaus:
|
||||||
|
print("Oikea luku on suurempi kuin ", arvaus, ".", sep="")
|
||||||
|
else:
|
||||||
|
print("Oikea luku on pienempi kuin ", arvaus, ".", sep="")
|
||||||
|
|
||||||
|
|
||||||
|
# Jos suoritamme koodia suoraan skriptistä importtauksen sijaan, suoritetaan pääfunktio.
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
43
python/taitotalo/main8.py
Normal file
43
python/taitotalo/main8.py
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
"""
|
||||||
|
Sovellus tekee listasta pareja
|
||||||
|
"""
|
||||||
|
|
||||||
|
# Tuodaan paketti tabulate.
|
||||||
|
import tabulate
|
||||||
|
|
||||||
|
# Tarvitaan parien muodostamiseen
|
||||||
|
import random
|
||||||
|
|
||||||
|
|
||||||
|
# Määritetään pääfunktio
|
||||||
|
def main():
|
||||||
|
"""
|
||||||
|
Pääfunktio.
|
||||||
|
"""
|
||||||
|
|
||||||
|
# Määritetään nimet{,2} lista
|
||||||
|
nimet = ["Antti", "Pekka", "Esa"]
|
||||||
|
nimet2 = ["Emmi", "Maini", "Reetta"]
|
||||||
|
|
||||||
|
# Arvotaan nimilistoista kahdet parit.
|
||||||
|
random_names1 = random.sample(nimet, 3)
|
||||||
|
random_names2 = random.sample(nimet2, 3)
|
||||||
|
|
||||||
|
# Luo tuplen, jossa zip yhdistää random_names{1,2} vastaavan kohdan kanssa, jotka sitten laitetaan listaan.
|
||||||
|
name_pairs = list(zip(random_names1, random_names2))
|
||||||
|
|
||||||
|
print(name_pairs)
|
||||||
|
|
||||||
|
# Tehdään taulukko nimistä, otsikkoina "Etunimi"
|
||||||
|
table = tabulate.tabulate(
|
||||||
|
name_pairs,
|
||||||
|
headers=["Etunimi", "Etunimi"],
|
||||||
|
tablefmt="github",
|
||||||
|
)
|
||||||
|
# Tulostetaan taulukko
|
||||||
|
print(table)
|
||||||
|
|
||||||
|
|
||||||
|
# Jos suoritamme koodia suoraan skriptistä importtauksen sijaan, suoritetaan pääfunktio.
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
2
python/taitotalo/requirements.txt
Normal file
2
python/taitotalo/requirements.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
# main8.py requires this
|
||||||
|
tabulate
|
Loading…
Reference in New Issue
Block a user