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 [ ]:
n1 = int(input('Zadej prvni cele cislo:'))
n2 = int(input('Zadej druhe cele cislo:'))
n3 = int(input('Zadej treti cele cislo:'))
n4 = int(input('Zadej ctvrte cele cislo:'))
n5 = int(input('Zadej pate cele cislo:'))

if n1 < n2 and n1 < n3 and n1 < n4 and n1 < n5:
    print('Nejnizsi zadane cislo je:',n1)
elif n2 < n1 and n2 < n3 and n2 < n4 and n2 < n5:
    print('Nejnizsi zadane cislo je:',n2)
elif n3 < n1 and n3 < n2 and n3 < n4 and n3 < n5:
    print('Nejnizsi zadane cislo je:',n3)
elif n4 < n1 and n4 < n2 and n4 < n3 and n4 < n5:
    print('Nejnizsi zadane cislo je:',n4)
elif n5 < n1 and n5 < n2 and n5 < n3 and n5 < n4:
    print('Nejnizsi zadane cislo je:',n5)

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 [ ]:
a = float(input('Napište libovolné číslo: '))
for cislo in range(4):
    b = float(input('Napište libovolné číslo: '))
    if b < a:
        a = b
print(a)

N-úhelníky v řadě

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

In [ ]:
from turtle import forward, left, right, exitonclick, shape, penup, pendown
shape('turtle')

for i in range(5):
    forward(50)
    right(180+(((5-2)*180)/5))
penup()
forward(150)
pendown()

for i in range(6):
    forward(50)
    right(180+(((6-2)*180)/6))
penup()
forward(150)
pendown()

for i in range(7):
    forward(50)
    right(180+(((7-2)*180)/7))
penup()
forward(150)
pendown()

for i in range(8):
    forward(50)
    right(180+(((8-2)*180)/8))
penup()
forward(150)
pendown()

for i in range(9):
    forward(50)
    right(180+(((9-2)*180)/9))
penup()
forward(150)
pendown()

exitonclick()

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

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

for n in range(5, 9):
    for uhelniky in range(n):
        forward(200/n)
        left(360/n)

    penup()
    forward(100)
    pendown()

exitonclick()

Kytka

In [ ]:
from turtle import forward, left, speed, exitonclick, right, circle, speed

speed(0)

for i in range(18):
    for j in range(4):
        forward(50)
        left(90)
    left(20)
right(90)
forward(250)

for i in range(5):
    circle(i*5)
left(180)
forward(45)
for j in range(5):
    circle(j*5)
forward(45)
right(180)
for k in range(5):
    circle(k*5)
forward(45)
left(180)
forward(90)
for l in range(5):
    circle(l*5)

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).
  • Díky všem, kteří zrychlili želvičku.

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