mirror of
https://gitea.blesmrt.net/mikaela/scripts.git
synced 2025-01-03 08:42: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
|
||||
.editorconfig 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