Přeskočit na obsah

Diskuse:Python/Kenjiro995/HeloWord

Obsah stránky není podporován v jiných jazycích.
Přidat téma
Z Wikiverzity
Poslední komentář: před 1 rokem od uživatele Juandev v tématu „Úvod

Ú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)Odpovědět

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)Odpovědět
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 segment print(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 funkce print() přijímá. Tady je to celkem jasné, až na flush, kde si nemyslím, že opakem k flush je buffered, 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)Odpovědět
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)Odpovědět

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 file a 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)Odpovědět

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!")

--Juandev (diskuse) 13. 9. 2023, 07:22 (UTC)Odpovědět