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 = 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()

Co je tady "špatně"?

In [ ]:
from turtle import forward
from turtle import shape
from turtle import left,right,exitonclick
from turtle import penup,pendown, down
from math import sqrt

# verze,kdy počet úhlů určuji já, nadefinuju přímo n=5 nebo 6 nebo 7 atd...
n=int(input("Zadejte počet stran n-úhelníku"))

for i in range(n):
    forward(200/n)
    left(180-(180*(1-(2/n))))

exitonclick()

Obecné připomínky a rady

  • Importy provádíme vždy na prvních řádcích programu a v rámci programu pouze jednou
  • Neimportujeme nic co pak v programu nepoužijeme
  • Odevzdáváme co možná nejvíce domácích projektů (vzpomeňte na svou odpověď v registračním formuláři)
  • Google je náš kamarád! Nemusíte na řešení přijít samy, ale musíte ho pochopit.