Nauč se Python > Kurzy > Začátečnický kurz PyLadies > Cykly > Zpětná vazba k domácím projektům

Feedback k domácím projektům

Nejmenší číslo

Upovídané řešení z domácích projektů

In [ ]:
prve = input('Zadej cislo: ')
druhe = input('Zadej cislo: ')
tretie = input('Zadej cislo: ')
stvrte = input('Zadej cislo: ')
piate = input('Zadej cislo: ')

if prve<druhe and prve<tretie and prve<stvrte and prve<piate:                    
    print(prve)                                                                  
if druhe<prve and druhe<tretie and druhe<stvrte and druhe<piate:                 
    print(druhe)                                                                 
if tretie<prve and tretie<druhe and tretie<stvrte and tretie<piate:              
    print(tretie)                                                                
if stvrte<prve and stvrte<druhe and stvrte<tretie and stvrte<piate:              
    print(stvrte)                                                                
if piate<prve and piate<druhe and piate<tretie and piate<stvrte:                 
    print(piate)

Lepší, ale pořád ne optimální

In [ ]:
a = float(input('Prvni cislo: '))
b = float(input('Druhe cislo: '))
c = float(input('Treti cislo: '))
d = float(input('Ctrvte cislo: '))
e = float(input('Pate cislo: '))


m = a

for cislo in a, b, c, d, e:
  if cislo < m:
      m=cislo
print(m)

Kratší a méně náročné řešení

In [ ]:
minimum = 0
for x in range(5):
    cislo = int(input('Zadej cislo: '))
    
    if minimum == 0 or cislo < minimum:
        minimum = cislo

print('Nejmensi zadane cislo je', minimum)

N-úhelníky v řadě

Upovídané řešení z domácích projektů

In [ ]:
from turtle import forward, shape, left, right, exitonclick, penup, pendown, back

# pětiúhelník:
vnitrniuhel = 180*(1-(2/5))
vnejsiuhel= 180-vnitrniuhel
for x in range (5):
    forward(200/5)
    left(vnejsiuhel)
penup()
forward(100)
pendown()

# šestiúhelník:
vnitrniuhel = 180*(1-(2/6))
vnejsiuhel= 180-vnitrniuhel
for x in range (6):
    forward(200/6)
    left(vnejsiuhel)
penup()
forward(100)
pendown()

# sedmiúhelník:
vnitrniuhel = 180*(1-(2/7))
vnejsiuhel= 180-vnitrniuhel
for x in range (7):
    forward(200/7)
    left(vnejsiuhel)
penup()
forward(100)
pendown()

# osmiúhelník:
vnitrniuhel = 180*(1-(2/8))
vnejsiuhel= 180-vnitrniuhel
for x in range (8):
    forward(200/8)
    left(vnejsiuhel)
exitonclick()

Kratší řešení s využitím cyklu v dalším cyklu

In [ ]:
from turtle import forward, shape, left, right, exitonclick, penup, pendown, back

for n in range(5,9):
    vnitrniuhel = 180*(1-(2/n))
    vnejsiuhel= 180-vnitrniuhel
    for x in range (n):
        forward(200/n)
        left(vnejsiuhel)
    penup()
    forward(100)
    pendown()

exitonclick()

Obecné připomínky a rady

  • K importům:
    • Importy provádíme vždy na prvních řádcích programu a v rámci programu pouze jednou.
    • Snažíme se nepoužívat importy s hvězdičkou.
    • Neimportujeme nic co pak v programu nepoužijeme.
  • Ke komentářům:
    • Nezakomentováváme programy nebo jednotlivé úlohy v nich.
    • Není třeba psát komentáře k tomu, co je zcela jasné. Je to ale pořád lepší než je nepsat vůbec.
    • Komentáře je lepší a jednodušší psát nad nebo pod kód místo vedle něj. Obzvlášť pokud má komentovaná část kódu několik řádků.
  • Ke stylu:
    • Zkuste nedělat extra dlouhé řádky. Maximum je takových 100 znaků.
    • Kód nemusí být elegantní, hlavně když funguje (alespoň pro začátek).
  • Martin děkuje všem, kteří zrychlili želvičku.

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