Jedná se o zápis s Pythonu s jehož pomocí se dají jednoduše vytvářet seznamy.
[x for x in range(10)]
[x**2 for x in range(10)]
[x**2 for x in range(10) if x % 2 == 0]
[(x, x**2) for x in range(10)]
[[y for y in range(3)] for x in range(10)]
def vytvor_tabulku():
zap_tabulka = []
for rada_x in '.', '.', '.', '.', '.', '.', '.', '.', '.', '.':
radek = []
for rada_y in '.', '.', '.', '.', '.', '.', '.', '.', '.', '.':
radek.append(rada_y)
zap_tabulka.append(radek)
return zap_tabulka
def vytvor_prazdne_herni_pole(r,s):
seznam_radku = []
for a in range(r):
radek = ["."]
for b in range(s-1):
radek.append(".")
seznam_radku.append(radek)
return seznam_radku
def vytvor_tabulku(velikost):
seznam_radku = []
for a in range(velikost):
radek = []
for b in range(velikost):
radek.append(".")
seznam_radku.append(radek)
return seznam_radku
def vytvor_tabulku(velikost):
tabulka = []
for x in range(velikost):
radek = ['.' for x in range(velikost)]
tabulka.append(radek)
return tabulka
def vytvor_tabulku(velikost):
return [list('.' * velikost) for x in range(velikost)]
Najdi chyby, nejasnosti či nepřesnosti v tomto kódu:
zvirata = [ "pes", "kočka", "králík", "had", "ježek"]
znak = "k"
def pismeno(jmeno):
for i in range(5):
if znak in jmeno[i][0]:
print(jmeno[i])
return
pismeno(zvirata)
Takto by to mohlo vypadat přehlednější a pochopitelnější
zvirata = [ "pes", "kočka", "králík", "had", "ježek"]
def s_prvnim_pismenem(seznam_zvirat, pismeno):
for zvire in seznam_zvirat:
if zvire.startswith(pismeno):
print(zvire)
s_prvnim_pismenem(zvirata, 'k')
Další podobná funkce:
def kratke(jmeno = zvirata):
for i in range(len(jmeno)):
if len(jmeno[i]) < 5:
print(jmeno[i])
else:
print(end = "")
return jmeno
kratke(zvirata)
A její přehlednější varianta:
def kratke(seznam_zvirat):
for jmeno in seznam_zvirat:
if len(jmeno) < 5:
print(jmeno)
kratke(zvirata)
Je možné tuto funkci zkrátit a zjednodušit?
def overeni(seznam):
"ověří, zda je zadané slovo v seznamu a vrátí True/False"
otazka = input("Zadej název zvířete, jež chceš ověřit: ")
if otazka in seznam:
return True
else:
return False
Ano, je to možné
def overeni(seznam):
"ověří, zda je zadané slovo v seznamu a vrátí True/False"
otazka = input("Zadej název zvířete, jež chceš ověřit: ")
return otazka in seznam
Jde o techniku řešení problému, při které se svůj problém snažíte vysvětlit někomu (nebo v případě gumové kachny něčemu), kdo programování nemusí vůbec rozumět. Když řešenou problematiku a vaše současné řešení popisujete nahlas, uvědomíte si, co váš program aktuálně dělá a co by dělat měl, což zpravidla vede k vyřešení problému.