mirror of
				https://gitea.blesmrt.net/mikaela/scripts.git
				synced 2025-11-04 03:17:32 +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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user