@@ -405,11 +405,31 @@ zavolej `append` pro všechny kombinace barev a hodnot:
405405``` python
406406balicek = []
407407for barva in ' ♠' , ' ♥' , ' ♦' , ' ♣' :
408- for hodnota in list ( range ( 2 , 11 )) + [ ' J' , ' Q' , ' K' , ' A' ]:
409- balicek.append(str ( hodnota) + barva)
408+ for hodnota in [ ' 2 ' , ' 3 ' , ' 4 ' , ' 5 ' , ' 6 ' , ' 7 ' , ' 8 ' , ' 9 ' , ' 10 ' , ' J' , ' Q' , ' K' , ' A' ]:
409+ balicek.append(hodnota + barva)
410410print (balicek)
411411```
412412
413+ > [ note] Jde to líp?
414+ > Psát do programu výčet po sobě jdoucích čísel,
415+ > ` '2', '3', '4', '5', '6', '7', '8', '9', '10' ` ,
416+ > není ideální – na takovou otročinu přece máme počítače!
417+ > Zkus čísla dostat pomocí ` range ` .
418+ > Ale pozor, není to úplně přímočaré:
419+ >
420+ > * Jaké argumenty dáš funkci ` range ` , abys dostal{{a}} čísla od 2 do 10?
421+ > * Funkce ` range ` vrací sekvenci, která ale není seznam.
422+ > Abys ji mohl{{a}} spojit se seznamem ` ['J', 'Q', 'K', 'A'] ` , budeš ji muset
423+ > na seznam převést: ` list(range(...)) `
424+ > * Abys mohl{{a}} čísla z ` range ` připojit k řetězci jako ` ♠ ` , budeš muset
425+ > každou hodnotu před použitím převést na řetězec: ` str(hodnota) ` .
426+ >
427+ > Bonus: Jaký je nejkratší zápis, kterým můžeš zadat seznam
428+ > ` ['J', 'Q', 'K', 'A'] ` ?
429+ >
430+ > Řešení najdeš v textu o kousek níže.
431+
432+
413433## Seznamy a řetězce
414434
415435Seznamy a řetězce jsou druhy * sekvencí* .
@@ -458,9 +478,12 @@ Seznam změní „na místě“ a nic nevrací (podobně jako metoda `sort`).
458478``` python
459479import random
460480
481+ ciselne_hodnoty = list (range (2 , 11 ))
482+ pismenne_hodnoty = list (' JQKA' )
483+
461484balicek = []
462485for barva in ' ♠' , ' ♥' , ' ♦' , ' ♣' :
463- for hodnota in list ( range ( 2 , 11 )) + [ ' J ' , ' Q ' , ' K ' , ' A ' ] :
486+ for hodnota in ciselne_hodnoty + pismenne_hodnoty :
464487 balicek.append(str (hodnota) + barva)
465488print (balicek)
466489
0 commit comments