Diskuse:Python/Kenjiro995/HeloWord
Přidat témaÚvod
[editovat]Jak má člověk chápat ten úvodník? Trochu to připomíná výpis z nějaké nápovědy, ale interní nápovědy py to není. Jestli dobře rozumím help(object()), tak object() nepřijímá žádné argumenty, takže nemusíme řešit proměnou s. Ta asi slouží jenom k aktivaci funkce. Nicméně mě object(s) hází chybu. No a proč by funkce print() měla mít parametr ve funkci objektu? Juandev (diskuse) 9. 6. 2023, 16:04 (UTC)
- To asi souvisí s nejasnýma zápisama syntaxí. Já s tím boju třeba v případě Bashe, kde je v nápovědách často odlišný zápis syntaxe, která neodpovídá oficiální zadávací dokumentaci. Člověk se tak u každého zápisu musí dovtípovat co tím dotyčný chtěl asi říct, jaké další informace to nese a celé to dělá programování náročným. Juandev (diskuse) 21. 6. 2023, 11:24 (UTC)
- Tak jsem se dozvěděl, že
object(s)je obecné označení libovolných objektů. Nicméně i přesto bych měl připomínku, že ten segmentprint(object(s), sep=separator, end=end, file=file, flush=flush)je matoucí. Na jednu stranu to můžeme chápat tak, že to vysvětluje, jaké parametry funkceprint()přijímá. Tady je to celkem jasné, až naflush, kde si nemyslím, že opakem kflushjebuffered, ale budiž. Hezčí by asi bylo to nějak graficky rozparcelovat, alespoň u začátečníků. Např.funkce(parametr 1, parametr 2 = hodnota, parametr 3 = hodnota, etc.)atd. Juandev (diskuse) 13. 9. 2023, 07:38 (UTC)- Moje nápověda v terminálu to vypisuje takto:
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False). Juandev (diskuse) 13. 9. 2023, 07:40 (UTC)
- Moje nápověda v terminálu to vypisuje takto:
Zkuste cow pie
[editovat]#!/usr/bin/env python
a, b, c, d, e, f, g, h, i, j, k = "(", "_", ")", "o", "/", "-", "\\", "|", "*", " ", "\n"
print(j * 11, a, b * 2, c, k, j * 11, a, d * 2, c, k, j*4, e, f*7, g, e, k, j*3, e, h, j*7, h*2, k, j*2, i, j, h, j*7, h*2, sep="")
- Ještě bych uvedl, že pokud na dort nemáte zrovna chuť můžete využít argumentu
filea odeslat ho do lednice. To by vypadalo následovně:
#!/usr/bin/env python
#ingredience:
a, b, c, d, e, f, g, h, i, j, k = "(", "_", ")", "o", "/", "-", "\\", "|", "*", " ", "\n"
#ověří, jestli máte lednici a případně vám ji koupí a zapne:
lednice = open('cowpie.txt', 'w')
#vloží dort do lednice:
print(j * 11, a, b * 2, c, k, j * 11, a, d * 2, c, k, j*4, e, f*7, g, e, k, j*3, e, h, j*7, h*2, k, j*2, i, j, h, j*7, h*2, sep="", file=lednice)
#zavře lednici:
lednice.close()
- Kdybyste nemohli najít novou lednici, využijte script:
import os
cwd = os.getcwd()
print("Lednice je umístěná v: ", cwd, "/cowpie.txt", sep="")
Interpretace více řádků
[editovat]Já používám IDLE a tam mi to neinterpretuje více řádků, takže to zadávám postupně. Takže:
print("Pyton je skvělý programovací jazyk", end=". ")
print("Pyton je skvělý programovací jazyk", end="? ")
mi toho moc nedá a musím to zanořit print(print("Pyton je skvělý programovací jazyk", end=". "), "Pyton je skvělý programovací jazyk", end="? "). To sem dávám jen pro info, kdyby se někdo divil. Juandev (diskuse) 21. 6. 2023, 09:45 (UTC)
Nácvyk parametru flush
[editovat]flush = True odešle bobek okamžitě bez čekání do souboru miska.txt. Pokud by nebyl flush=True, šel by bobek do bufferu a to přeci nechceme. Mohl by nám zasmradit celý systém.
#!/usr/bin/env python
#Kráva vyhodila bobek!
a, b, c, d, e, f = " ", "(", "_", "\\", "\n", ")"
print(a * 5, b, e, a * 4, f, a, f, e, a * 4, b, f, c, e, a * 3, b, c, d, f, d, e, a * 2, b, c * 3, d, c * 2, f*2, e * 2, "Odstraňuji...", sep="")
#Otevře misku
miska = open('miska.txt', 'w')
#Spláchne bobek do misky
print(a * 5, b, e, a * 4, f, a, f, e, a * 4, b, f, c, e, a * 3, b, c, d, f, d, e, a * 2, b, c * 3, d, c * 2, f*2, sep="", file=miska, flush=True)
#Zavře misku
miska.close()
#Oznámí splnění úkolu
print("Hotovo!")