mirror of
https://gitea.blesmrt.net/mikaela/scripts.git
synced 2024-11-16 08:09:23 +01:00
python: low-hanging pylint fixes
This commit is contained in:
parent
9d2c422a63
commit
5e92b8d998
14
.pre-commit-config.yaml
vendored
14
.pre-commit-config.yaml
vendored
@ -33,8 +33,7 @@ repos:
|
|||||||
#- id: check-xml
|
#- id: check-xml
|
||||||
- id: debug-statements
|
- id: debug-statements
|
||||||
- id: mixed-line-ending
|
- id: mixed-line-ending
|
||||||
# .gitattributes is trusted to handle this
|
args: [--fix=lf]
|
||||||
args: [--fix=no]
|
|
||||||
- id: pretty-format-json
|
- id: pretty-format-json
|
||||||
args: [--autofix, --no-ensure-ascii]
|
args: [--autofix, --no-ensure-ascii]
|
||||||
|
|
||||||
@ -56,17 +55,6 @@ repos:
|
|||||||
- id: mypy
|
- id: mypy
|
||||||
additional_dependencies: [types-tabulate]
|
additional_dependencies: [types-tabulate]
|
||||||
|
|
||||||
- repo: https://github.com/asottile/pyupgrade
|
|
||||||
rev: v3.16.0
|
|
||||||
hooks:
|
|
||||||
- id: pyupgrade
|
|
||||||
args: [--py310-plus]
|
|
||||||
|
|
||||||
- repo: https://github.com/asottile/add-trailing-comma
|
|
||||||
rev: v3.1.0
|
|
||||||
hooks:
|
|
||||||
- id: add-trailing-comma
|
|
||||||
|
|
||||||
- repo: https://github.com/pycqa/isort
|
- repo: https://github.com/pycqa/isort
|
||||||
rev: 5.13.2
|
rev: 5.13.2
|
||||||
hooks:
|
hooks:
|
||||||
|
@ -1,15 +0,0 @@
|
|||||||
root = true
|
|
||||||
|
|
||||||
[*]
|
|
||||||
# https://peps.python.org/pep-0008/#indentation
|
|
||||||
indent_style = space
|
|
||||||
indent_size = 4
|
|
||||||
max_line_length = 79
|
|
||||||
|
|
||||||
[*.py]
|
|
||||||
profile = black
|
|
||||||
max_line_length = 79
|
|
||||||
#end_of_line = crlf
|
|
||||||
|
|
||||||
[*.md]
|
|
||||||
end_of_line = lf
|
|
3
python/taitotalo/.gitattributes
vendored
3
python/taitotalo/.gitattributes
vendored
@ -1,3 +0,0 @@
|
|||||||
* text=auto
|
|
||||||
# This is for doctoc should I decide to use it in the future
|
|
||||||
*.md text eol=lf
|
|
@ -33,7 +33,8 @@ def arvaa_numero():
|
|||||||
|
|
||||||
laskuri += 1
|
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!
|
# Pyydetään käyttäjältä luku varautuen virheelliseen syötteeseen. Se
|
||||||
|
# on tärkeää muuttaa int:iksi tai muuten se on string!
|
||||||
try:
|
try:
|
||||||
arvaus = int(input("Arvaa numero? "))
|
arvaus = int(input("Arvaa numero? "))
|
||||||
# Virhesyötteen tapahtuessa
|
# Virhesyötteen tapahtuessa
|
||||||
@ -54,13 +55,16 @@ def arvaa_numero():
|
|||||||
)
|
)
|
||||||
break
|
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ä
|
# Muuten avustetaan käyttäjää antamalla vihje. Printistä myös
|
||||||
elif arvaus < oikeavastaus:
|
# poistetaan erottavat välilyönnit, jotka tehdään itse, jotta
|
||||||
|
# arvauksen ja pisteen väliin ei tule välilyöntejä
|
||||||
|
if arvaus < oikeavastaus:
|
||||||
print("Oikea luku on suurempi kuin ", arvaus, ".", sep="")
|
print("Oikea luku on suurempi kuin ", arvaus, ".", sep="")
|
||||||
else:
|
else:
|
||||||
print("Oikea luku on pienempi kuin ", arvaus, ".", sep="")
|
print("Oikea luku on pienempi kuin ", arvaus, ".", sep="")
|
||||||
|
|
||||||
|
|
||||||
# Jos suoritamme koodia suoraan skriptistä importtauksen sijaan, suoritetaan pääfunktio.
|
# Jos suoritamme koodia suoraan skriptistä importtauksen sijaan, suoritetaan
|
||||||
|
# pääfunktio.
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
main()
|
main()
|
@ -6,8 +6,8 @@ import datetime
|
|||||||
|
|
||||||
tanaan = datetime.date.today()
|
tanaan = datetime.date.today()
|
||||||
vuosi = int(tanaan.year)
|
vuosi = int(tanaan.year)
|
||||||
nimi = "Jussi"
|
NIMI = "Jussi"
|
||||||
|
|
||||||
print(vuosi)
|
print(vuosi)
|
||||||
print(vuosi == 2014)
|
print(vuosi == 2014)
|
||||||
print(vuosi is vuosi)
|
# print(vuosi is vuosi)
|
@ -2,12 +2,12 @@
|
|||||||
Sovellus tekee yksinkertaisen salasanatarkistuksen if:illä
|
Sovellus tekee yksinkertaisen salasanatarkistuksen if:illä
|
||||||
"""
|
"""
|
||||||
|
|
||||||
koodisana = "python"
|
KOODISANA = "python"
|
||||||
|
|
||||||
print("Tervetuloa")
|
print("Tervetuloa")
|
||||||
syote = input("Anna salasana: ")
|
syote = input("Anna salasana: ")
|
||||||
|
|
||||||
if syote == koodisana:
|
if syote == KOODISANA:
|
||||||
print("Matka voi alkaa")
|
print("Matka voi alkaa")
|
||||||
else:
|
else:
|
||||||
print("Yritä uudelleen")
|
print("Yritä uudelleen")
|
@ -1,16 +1,19 @@
|
|||||||
"""
|
"""
|
||||||
Sovellus kysyy käyttäjän ikää, kertoo alle 18 heidän olevan alaikäinen, 18-65 aikuinen ja yli 65 seniori.
|
Sovellus kysyy käyttäjän ikää, kertoo alle 18 heidän olevan alaikäinen, 18-65
|
||||||
|
aikuinen ja yli 65 seniori.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
# Tuo sys -kirjasto, jotta voimme poistua virhekoodiin.
|
# Tuo sys -kirjasto, jotta voimme poistua virhekoodiin.
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
# Odotetaan käyttäjän mahdollisesti pyrkivän syöttämään muutakin kuin numeroita ja varaudutaan asiaan
|
# Odotetaan käyttäjän mahdollisesti pyrkivän syöttämään muutakin kuin
|
||||||
|
# numeroita ja varaudutaan asiaan
|
||||||
try:
|
try:
|
||||||
# Tallennetaan kokonaislukuna käyttäjältä pyydetty ikä
|
# Tallennetaan kokonaislukuna käyttäjältä pyydetty ikä
|
||||||
ika = int(input("Mikä on ikäsi? "))
|
ika = int(input("Mikä on ikäsi? "))
|
||||||
# Annetaan käyttäjäystävällinen virheilmoitus ja poistutaan virhekoodilla, jos käyttäjä ei syöttänyt numeroita
|
# Annetaan käyttäjäystävällinen virheilmoitus ja poistutaan virhekoodilla,
|
||||||
|
# jos käyttäjä ei syöttänyt numeroita
|
||||||
except ValueError:
|
except ValueError:
|
||||||
print("Syötä ikäsi numeroina!")
|
print("Syötä ikäsi numeroina!")
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
@ -18,7 +21,8 @@ except ValueError:
|
|||||||
# Aloitetaan kokeilemalla onko käyttäjä alle 18.
|
# Aloitetaan kokeilemalla onko käyttäjä alle 18.
|
||||||
if ika < 18:
|
if ika < 18:
|
||||||
print("Olet alaikäinen")
|
print("Olet alaikäinen")
|
||||||
# Jos käyttäjä ei ollut alaikäinen, varmistetaan onko hän 18 ja onko hän alle 65.
|
# 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):
|
elif (ika >= 18) and (ika < 65):
|
||||||
print("Olet aikuinen")
|
print("Olet aikuinen")
|
||||||
# Mikäli ikä on 65 tai yli, käyttäjä on seniori.
|
# Mikäli ikä on 65 tai yli, käyttäjä on seniori.
|
@ -24,11 +24,13 @@ def main():
|
|||||||
|
|
||||||
print("Olen", ikani, "-vuotias", nimeni)
|
print("Olen", ikani, "-vuotias", nimeni)
|
||||||
nimi = input("Mikä sinun nimesi on?: ")
|
nimi = input("Mikä sinun nimesi on?: ")
|
||||||
# Odotetaan käyttäjän mahdollisesti pyrkivän syöttämään muutakin kuin numeroita ja varaudutaan asiaan
|
# Odotetaan käyttäjän mahdollisesti pyrkivän syöttämään muutakin kuin
|
||||||
|
# numeroita ja varaudutaan asiaan
|
||||||
try:
|
try:
|
||||||
# Tallennetaan kokonaislukuna käyttäjältä pyydetty ikä
|
# Tallennetaan kokonaislukuna käyttäjältä pyydetty ikä
|
||||||
ika = int(input("Entä kuinka vanha olet? "))
|
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
|
# Annetaan käyttäjäystävällinen virheilmoitus ja poistutaan
|
||||||
|
# virhekoodilla, jos käyttäjä ei syöttänyt numeroita
|
||||||
except ValueError:
|
except ValueError:
|
||||||
print("Syötä ikäsi numeroina!")
|
print("Syötä ikäsi numeroina!")
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
@ -40,7 +42,8 @@ def main():
|
|||||||
# Aloitetaan kokeilemalla onko käyttäjä alle 18.
|
# Aloitetaan kokeilemalla onko käyttäjä alle 18.
|
||||||
if ika < 18:
|
if ika < 18:
|
||||||
print("Olet alaikäinen")
|
print("Olet alaikäinen")
|
||||||
# Jos käyttäjä ei ollut alaikäinen, varmistetaan onko hän 18 ja onko hän alle 65.
|
# 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):
|
elif (ika >= 18) and (ika < 65):
|
||||||
print("Olet täysi-ikäinen")
|
print("Olet täysi-ikäinen")
|
||||||
# Mikäli ikä on 65 tai yli, käyttäjä on seniori.
|
# Mikäli ikä on 65 tai yli, käyttäjä on seniori.
|
||||||
@ -51,6 +54,7 @@ def main():
|
|||||||
print("Jokin meni pieleen. Yritä uudelleen.")
|
print("Jokin meni pieleen. Yritä uudelleen.")
|
||||||
|
|
||||||
|
|
||||||
# Jos suoritamme koodia suoraan skriptistä importtauksen sijaan, suoritetaan pääfunktio.
|
# Jos suoritamme koodia suoraan skriptistä importtauksen sijaan, suoritetaan
|
||||||
|
# pääfunktio.
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
main()
|
main()
|
@ -34,13 +34,16 @@ def main():
|
|||||||
elif tkvalinta == "paperi" and valinta == "sakset":
|
elif tkvalinta == "paperi" and valinta == "sakset":
|
||||||
print("Voitit, sakset voittavat paperin")
|
print("Voitit, sakset voittavat paperin")
|
||||||
else:
|
else:
|
||||||
# Tästä tuli vahingossa catch-all virheellisille syötteille, enkä ole varma toteutinko kaikki skenaariot
|
# Tästä tuli vahingossa catch-all virheellisille syötteille, enkä ole
|
||||||
|
# varma toteutinko kaikki skenaariot
|
||||||
print(
|
print(
|
||||||
"Joko tilannetta ei ole vielä toteutettu tai annoit virheellisen syötteen. Ilmoittaisitko ongelman kehittäjälle?",
|
"Joko tilannetta ei ole vielä toteutettu tai annoit \
|
||||||
|
virheellisen syötteen. Ilmoittaisitko ongelman kehittäjälle?"
|
||||||
)
|
)
|
||||||
print("Tietokone valitsi:", tkvalinta, "syötteesi oli", valinta)
|
print("Tietokone valitsi:", tkvalinta, "syötteesi oli", valinta)
|
||||||
|
|
||||||
|
|
||||||
# Jos suoritamme koodia suoraan skriptistä importtauksen sijaan, suoritetaan pääfunktio.
|
# Jos suoritamme koodia suoraan skriptistä importtauksen sijaan, suoritetaan
|
||||||
|
# pääfunktio.
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
main()
|
main()
|
@ -23,7 +23,8 @@ def main():
|
|||||||
random_names1 = random.sample(nimet, 3)
|
random_names1 = random.sample(nimet, 3)
|
||||||
random_names2 = random.sample(nimet2, 3)
|
random_names2 = random.sample(nimet2, 3)
|
||||||
|
|
||||||
# Luo tuplen, jossa zip yhdistää random_names{1,2} vastaavan kohdan kanssa, jotka sitten laitetaan listaan.
|
# Luo tuplen, jossa zip yhdistää random_names{1,2} vastaavan kohdan
|
||||||
|
# kanssa, jotka sitten laitetaan listaan.
|
||||||
name_pairs = list(zip(random_names1, random_names2))
|
name_pairs = list(zip(random_names1, random_names2))
|
||||||
|
|
||||||
print(name_pairs)
|
print(name_pairs)
|
||||||
@ -38,6 +39,7 @@ def main():
|
|||||||
print(table)
|
print(table)
|
||||||
|
|
||||||
|
|
||||||
# Jos suoritamme koodia suoraan skriptistä importtauksen sijaan, suoritetaan pääfunktio.
|
# Jos suoritamme koodia suoraan skriptistä importtauksen sijaan,
|
||||||
|
# suoritetaan pääfunktio.
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
main()
|
main()
|
@ -13,21 +13,25 @@ def main():
|
|||||||
Pääfunktio.
|
Pääfunktio.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
# Pyydetään käyttäjältä kaksi lukua varautuen siihen, ettei käyttäjä syötä lukuja oikeassa muodossa.
|
# Pyydetään käyttäjältä kaksi lukua varautuen siihen, ettei käyttäjä
|
||||||
|
# syötä lukuja oikeassa muodossa.
|
||||||
try:
|
try:
|
||||||
luku1 = float(input("Anna ensimmäinen luku: "))
|
luku1 = float(input("Anna ensimmäinen luku: "))
|
||||||
luku2 = float(input("Anna toinen 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.
|
# Mikäli käyttäjä syöttää jotakin, mitä emme voi muuttaa float:iksi tai
|
||||||
|
# int:iksi, annetaan virheilmoitus ja poistutaan virhekoodiin.
|
||||||
except ValueError:
|
except ValueError:
|
||||||
print("Syötä luku!")
|
print("Syötä luku!")
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
# Tulostetaan laskutoimitukset. Käytetään int siisteyden vuoksi, vaikka uhrataan tuki desimaalien laskemiselle.
|
# 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))
|
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ää.
|
# 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:
|
if luku1 == 0 or luku2 == 0:
|
||||||
print("Nollalla ei voi jakaa.")
|
print("Nollalla ei voi jakaa.")
|
||||||
else:
|
else:
|
||||||
@ -35,6 +39,7 @@ def main():
|
|||||||
print(int(luku1), "/", int(luku2), "=", (luku1 / luku2))
|
print(int(luku1), "/", int(luku2), "=", (luku1 / luku2))
|
||||||
|
|
||||||
|
|
||||||
# Jos suoritamme koodia suoraan skriptistä importtauksen sijaan, suoritetaan pääfunktio.
|
# Jos suoritamme koodia suoraan skriptistä importtauksen sijaan, suoritetaan
|
||||||
|
# pääfunktio.
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
main()
|
main()
|
||||||
|
@ -39,6 +39,7 @@ def main():
|
|||||||
print("Syötä luku!")
|
print("Syötä luku!")
|
||||||
|
|
||||||
|
|
||||||
# Jos suoritamme koodia suoraan skriptistä importtauksen sijaan, suoritetaan pääfunktio.
|
# Jos suoritamme koodia suoraan skriptistä importtauksen sijaan,
|
||||||
|
# suoritetaan pääfunktio.
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
main()
|
main()
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
"""
|
"""
|
||||||
Tämä on ensimmäinen Taitotalossa kirjoitettu Python koodi koulutuspäivänä yksi. Se vain tulostaa asioita.
|
Tämä on ensimmäinen Taitotalossa kirjoitettu Python koodi koulutuspäivänä
|
||||||
|
yksi. Se vain tulostaa asioita.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
@ -9,8 +10,8 @@ print("Tervetuloa")
|
|||||||
# toinen kommentti
|
# toinen kommentti
|
||||||
print("esi" + "merkki")
|
print("esi" + "merkki")
|
||||||
|
|
||||||
luku1 = 5
|
LUKU1 = 5
|
||||||
luku2 = 7
|
LUKU2 = 7
|
||||||
|
|
||||||
summa = luku1 + luku2
|
SUMMA = LUKU1 + LUKU2
|
||||||
print("Vastaus", summa)
|
print("Vastaus", SUMMA)
|
@ -29,6 +29,7 @@ def main():
|
|||||||
print()
|
print()
|
||||||
|
|
||||||
|
|
||||||
# Jos suoritamme koodia suoraan skriptistä importtauksen sijaan, suoritetaan pääfunktio.
|
# Jos suoritamme koodia suoraan skriptistä importtauksen sijaan,
|
||||||
|
# suoritetaan pääfunktio.
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
main()
|
main()
|
@ -1,6 +1,11 @@
|
|||||||
|
"""
|
||||||
|
Tämän skriptin olisi tarkoitus piirtää Suomen lippu turtle-kirjastolla,
|
||||||
|
mutta en koskaan tehnyt siitä valmista.
|
||||||
|
"""
|
||||||
|
|
||||||
# Tuodaan turtle -kirjasto
|
# Tuodaan turtle -kirjasto
|
||||||
# Satunnaislukuja
|
# Satunnaislukuja
|
||||||
import random
|
# import random
|
||||||
import turtle
|
import turtle
|
||||||
|
|
||||||
# ikkkuna = turtle.Screen()
|
# ikkkuna = turtle.Screen()
|
||||||
@ -48,37 +53,37 @@ turtle.showturtle()
|
|||||||
|
|
||||||
|
|
||||||
# Piirretään suorakulmio
|
# Piirretään suorakulmio
|
||||||
vaaka = 300
|
VAAKA = 300
|
||||||
pysty = 200
|
PYSTY = 200
|
||||||
#
|
#
|
||||||
turtle.forward(vaaka)
|
turtle.forward(VAAKA)
|
||||||
turtle.left(90)
|
turtle.left(90)
|
||||||
turtle.forward(pysty)
|
turtle.forward(PYSTY)
|
||||||
#
|
#
|
||||||
turtle.left(90)
|
turtle.left(90)
|
||||||
turtle.forward(vaaka)
|
turtle.forward(VAAKA)
|
||||||
#
|
#
|
||||||
turtle.left(90)
|
turtle.left(90)
|
||||||
turtle.forward(pysty)
|
turtle.forward(PYSTY)
|
||||||
turtle.left(90)
|
turtle.left(90)
|
||||||
|
|
||||||
# Piirretään risti
|
# Piirretään risti
|
||||||
turtle.forward(vaaka / 2)
|
turtle.forward(VAAKA / 2)
|
||||||
turtle.left(90)
|
turtle.left(90)
|
||||||
turtle.forward(pysty / 3)
|
turtle.forward(PYSTY / 3)
|
||||||
|
|
||||||
turtle.right(90)
|
turtle.right(90)
|
||||||
turtle.forward(vaaka / 3)
|
turtle.forward(VAAKA / 3)
|
||||||
turtle.left(90)
|
turtle.left(90)
|
||||||
|
|
||||||
turtle.forward(vaaka / 5)
|
turtle.forward(VAAKA / 5)
|
||||||
turtle.left(90)
|
turtle.left(90)
|
||||||
turtle.forward(vaaka / 3)
|
turtle.forward(VAAKA / 3)
|
||||||
|
|
||||||
turtle.right(90)
|
turtle.right(90)
|
||||||
turtle.forward(vaaka / 3)
|
turtle.forward(VAAKA / 3)
|
||||||
|
|
||||||
# turtle.forward(pysty / 3)
|
# turtle.forward(PYSTY / 3)
|
||||||
|
|
||||||
# Pidetään ikkuna auki
|
# Pidetään ikkuna auki
|
||||||
turtle.mainloop()
|
turtle.mainloop()
|
@ -7,5 +7,6 @@ Sovellus pyytää käyttäjältä nimen, sekä viestin ja tulostaa viestin kolme
|
|||||||
nimi = input("Nimi: ")
|
nimi = input("Nimi: ")
|
||||||
viesti = input("Viesti: ")
|
viesti = input("Viesti: ")
|
||||||
|
|
||||||
# Tulostetaan nimi ja kolmesti viesti rivinvaihdolla. Lopuksi poistetaan rivinvaihto ja erotin tulostuksesta
|
# Tulostetaan nimi ja kolmesti viesti rivinvaihdolla. Lopuksi poistetaan
|
||||||
|
# rivinvaihto ja erotin tulostuksesta
|
||||||
print(nimi, " sanoo:\n", (viesti + "\n") * 3, end="", sep="")
|
print(nimi, " sanoo:\n", (viesti + "\n") * 3, end="", sep="")
|
||||||
|
Loading…
Reference in New Issue
Block a user