Cyklus – Python – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Cyklus – Python – Fórum – Programujte.comCyklus – Python – Fórum – Programujte.com

 

JerryM0
Věrný člen
1. 3. 2024   #1
-
0
-

Ahoj, jaký je rozdíl mezi timhle:

for x in range(2, 6): {
  print(x),
  print(x)
  }

a timhle

for x in range(2, 6): (
  print(x),
  print(x)
  )

a timhle

for x in range(2, 6): 
  print(x)
  print(x)

všechny tři kody davaj stejný výsledek

Nahlásit jako SPAM
IP: 2a00:1028:83bc:e52a:2d04:9304:5754:c6ac...–
angna
~ Anonymní uživatel
11 příspěvků
1. 3. 2024   #2
-
0
-

První vytvoří set {None, None} (ve výsledku teda jen jeden {None}, protože je to set) a druhý vytvoří tuple (None, None).

(print vrací None)

Nahlásit jako SPAM
IP: 213.211.51.–
Kit+15
Guru
3. 3. 2024   #3
-
0
-

#1 JerryM
První dva mě dosud nenapadlo napsat.

První udělá množinu dvou příkazů a pak je provede. Jen zbytečná obstrukce navíc.

Druhý udělá tuple dvou příkazů a pak je provede. Zbytečnost jako v předchozím případě.

Třetí je běžný konstrukt, který se skutečně používá.

První zápis navíc negarantuje pořadí těch dvou příkazů.

Nahlásit jako SPAM
IP: 2a00:1028:83a6:646a:ccbd:b4d2:a31:cf21...–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
peter
~ Anonymní uživatel
3981 příspěvků
4. 3. 2024   #4
-
0
-

   

print(x)
https://docs.python.org/…nctions.html#…
- dela to, ze zobrazi hodnotu X na obrazovku
- funkce ma nejaky return, ale dokumentace je nepresna a nepise se v ni jaky :)
Proti treba php: https://www.php.net/print_r, v odstavci parameters je return value "true"

(1, 2, 3) - druh pole 
{1, 2, 3}
https://realpython.com/python-sets/

---

{ print(x), print(x) } kdyz to postupne vypocitas...
{ print(1), print(1) } na obrazovku se vypise 11
{ None, None } = { None }
 a do pameti se ulozi set hodnot, pole { None }, ktery se v zapeti 
smaze, protoze ho nikam neukladas

( print(x), print(x) ) totez
( None, None )

print(x), print(x) jenom se to vypise na obrazovku

---

zkus si tam dat
print(repr( {print(x),  print(x)} ))

Tedy, abys to chapal, pokud mas zobrazene jen okenko output, printovani na obrazovku, tak se printuje totez 22, 33, 44, 55 a 22, 33, 44, 55 a 22, 33, 44, 55.
Ale, program dela i jine veci, ktere vsak neukladas do promenne, tak je program pak zahodi.

Kdyz tam pridas to "print" a "repr", tak provede nejdrive print x, print x a dalsi print navic prida vyslednou strukturu, jakou bys mohl pouzit dal v pythonu.
Jinymi slovy, pokud to chces jen printovat, jako ve vsech 3 pripadech, tak tam jsou ty zavorky na nic.
Napada mne jedine vyuziti, to takto zapsat, pro nejaky ladici nastroj. Jinak je to spis chyba programatora, ze tam pise veci, ktere dal nevyuziva. Muze se jednat o nejaky skolni priklad. Tam by to slo tak pouzit jako chytak pro studenty, aby se dokazali vyznat v cizim kodu a urcit, co to dela, umet to treba zjednodusit, opravit.
 

Nahlásit jako SPAM
IP: 2001:718:2601:258:48a2:73da:5890:dc45...–
peter
~ Anonymní uživatel
3981 příspěvků
4. 3. 2024   #5
-
0
-

   

for x in range(2, 6):
  print(repr( {
    print(x),
    print(x)
  } ))

for x in range(2, 6):
  print(repr( (
    print(x),
    print(x)
    ) ))
Nahlásit jako SPAM
IP: 2001:718:2601:258:48a2:73da:5890:dc45...–
peter
~ Anonymní uživatel
3981 příspěvků
4. 3. 2024   #6
-
0
-

 oprava, nezkopirovalo to cely upraveny kod :)

for x in range(2, 6):
  print(repr( {
    print(x),
    print(x)
  } ))

for x in range(2, 6):
  print(repr( (
    print(x),
    print(x)
    ) ))

for x in range(2, 6):
    print(
        repr( print(x) ), 
        repr( print(x) )
      )
Nahlásit jako SPAM
IP: 2001:718:2601:258:48a2:73da:5890:dc45...–
Zjistit počet nových příspěvků

Přidej příspěvek

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 4 hosté

Podobná vlákna

Cyklus — založil Jan Burant

Cyklus for — založil shockwave

Cyklus Do While — založil Filips

Cyklus while v C — založil Marek

Cyklus for(...... — založil Hansel

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý