Nauč se Python > Kurzy > Začátečnický kurz PyLadies > Jeden nový cyklus a procvičování > Zpětná vazba k domácím projektům

Feedback k domácím projektům

Co dělá a vrací funkce print()?

In [1]:
vysledek = print("Ahoj světe")
print(vysledek)
Ahoj světe
None

Co dělá a vrací funkce input()?

In [2]:
jmeno = input("Napiš své jméno: ")
print(jmeno)
Napiš své jméno: Petra
Petra

Co dělá a vrací funkce len()?

In [3]:
delka = len("Petra")
print(delka)
5

Proměnné a for cyklus - takto NE !!!

In [8]:
cislo = 20
for cislo in range(5):
    print(cislo * "♫ ")
    cislo = cislo + 1
print("V proměnné cislo je uložena hodnota: ", cislo)
♫ 
♫ ♫ 
♫ ♫ ♫ 
♫ ♫ ♫ ♫ 
V proměnné cislo je uložena hodnota:  5

Opraveno:

In [ ]:
for cislo in range(5):
    print(cislo * "♫ ")

Lze tento kód napsat jednodušeji, aby dělal to samé?

In [6]:
promenna = "X"

for j in range(5):
    for i in promenna:
        print(i, i, i, i, i)
X X X X X
X X X X X
X X X X X
X X X X X
X X X X X

Ano jde

In [ ]:
for j in range(5):
    print('X ' * 5)

Prázdný čtverec

Upovídané řešení

In [8]:
for radek in range(6):
    if radek == 0:
        for obsah_radku in range(6):
            print('X', end=" ")
        print()
    elif  radek == 5:
        for obsah_radku in range(6):
                print('X', end=" ")
        print()
    else:
        print('X', end=" ")
        print(' ' * 7, end=" ")
        print('X', end=" ")
        print()
X X X X X X 
X         X 
X         X 
X         X 
X         X 
X X X X X X 

Kratší řešení

In [ ]:
for radek in range(6):
    if radek == 0 or radek == 5:
        print('X ' * 6)
    else:
        print('X ', ' ' * 6, 'X')

Další řešení

In [ ]:
for radek in range(6):
    for sloupec in range(6):
        if radek == 0 or sloupec == 0 or radek == 5 or sloupec == 5:
            print('X', end=' ')
        else:
            print(' ', end=' ')
    print()

Násobilka

In [2]:
for row in range(5):
    for col in range(5):
        print(row * col, end=" ")
    print()
0 0 0 0 0 
0 1 2 3 4 
0 2 4 6 8 
0 3 6 9 12 
0 4 8 12 16 

Zarovnaná násobilka

(někdo se trochu nudil)

In [7]:
for row in range(10):
    for col in range(10):
        result = row * col
        if result > 9:
            print(result, end=" ")
        else:
            print("", result, end=" ")
    print()
 0  0  0  0  0  0  0  0  0  0 
 0  1  2  3  4  5  6  7  8  9 
 0  2  4  6  8 10 12 14 16 18 
 0  3  6  9 12 15 18 21 24 27 
 0  4  8 12 16 20 24 28 32 36 
 0  5 10 15 20 25 30 35 40 45 
 0  6 12 18 24 30 36 42 48 54 
 0  7 14 21 28 35 42 49 56 63 
 0  8 16 24 32 40 48 56 64 72 
 0  9 18 27 36 45 54 63 72 81 

BumBác neboli FizzBuzz

Napiš program, který vypíše čísla od jedné do 100, ale:

  • Pokud je číslo dělitelné třemi, napíše místo něj „bum”.
  • Pokud je číslo dělitelné pěti, napíše místo něj „bác”.
  • Pokud je číslo dělitelné pěti i třemi zároveň, napíše místo toho „bum-bác”.
In [1]:
for num in range(1, 101):
    if num % 15 == 0:
        print("bum-bác", end=', ')
    elif num % 5 == 0:
        print("bác", end=', ')
    elif num % 3 == 0:
        print("bum", end=', ')
    else:
        print(num, end=', ')
1, 2, bum, 4, bác, bum, 7, 8, bum, bác, 11, bum, 13, 14, bum-bác, 16, 17, bum, 19, bác, bum, 22, 23, bum, bác, 26, bum, 28, 29, bum-bác, 31, 32, bum, 34, bác, bum, 37, 38, bum, bác, 41, bum, 43, 44, bum-bác, 46, 47, bum, 49, bác, bum, 52, 53, bum, bác, 56, bum, 58, 59, bum-bác, 61, 62, bum, 64, bác, bum, 67, 68, bum, bác, 71, bum, 73, 74, bum-bác, 76, 77, bum, 79, bác, bum, 82, 83, bum, bác, 86, bum, 88, 89, bum-bác, 91, 92, bum, 94, bác, bum, 97, 98, bum, bác, 

Obecné připomínky a rady

  • Pokud funkce nemá argumenty, mezi otevírací a zavírací závorku se nic nepíše (ani mezera)
  • Také mezi název funkce a závorky se mezera nepíše - takže nikoli print () ale print()
  • BABY STEPS
  • Funkce, argument, pojmenovaný argument, návratová hodnota (Lekce 3: Cykly -> Funkce)

Toto je stránka lekce z kurzu, který probíhá nebo proběhl naživo s instruktorem.