Skip to content

Instantly share code, notes, and snippets.

@janaslo
Created March 30, 2019 12:03
Show Gist options
  • Save janaslo/cd5fa2564fc5e749bb1c34448b0ed88e to your computer and use it in GitHub Desktop.
Save janaslo/cd5fa2564fc5e749bb1c34448b0ed88e to your computer and use it in GitHub Desktop.
Pyladies NTK lekce 04: while, funkce
def opakuj_hlasku(hlaska, kolikrat=3):
for opakovani in range(kolikrat):
print(hlaska)
# parametry se do funkce predavaji ve stejnem poradi jako v jeji definici
opakuj_hlasku('ahoj', 4)
# pokud jsou v jinem poradi, musime rict, ktery je ktery
opakuj_hlasku(kolikrat=5, hlaska='no nazdar')
# parametr kolikrat ma v definici vychozi hodnotu 3, takze ho nemusime zadavat
# hlaska se v tom pripade vytiskne 3x
opakuj_hlasku('cau pyladies')
# ale tohle uz fungovat nebude, nejakou hlasku zadat musime
opakuj_hlasku()
def preved_uzly(rychlost_uzly): # hlavicka funkce: def, nazev, vstupni parametry
"Tato funkce prevadi rychlost v uzlech na km/h." # strucny popis
rychlost_kmh = rychlost_uzly * 1.852
return rychlost_kmh # navratova hodnota - co se dostane z funkce ven
def vypis_silu_vetru(rychlost_kmh): # tato funkce pouze vypisuje, nic nevraci
"Tato funkce vypise, jak silny je vitr o zadane rychlosti (v km/h)."
print('Zadana rychlost v km/h:', rychlost_kmh)
if rychlost_kmh < 1:
print('Vubec nefouka.')
elif rychlost_kmh < 25:
print('Trochu fouka.')
elif rychlost_kmh < 65:
print('To je ficak!')
else:
print('Vichrice!!')
# uz tohle je vlastne volani dvou funkci: int, input
vstup = int(input('Zadej rychlost vetru v uzlech: '))
vstup_kmh = preved_uzly(vstup)
vypis_silu_vetru(vstup_kmh)
# da se zkombinovat i na jednom radku:
vypis_silu_vetru(preved_uzly(vstup))
print(20 * '-')
print('Ukazka vracenych hodnot:')
x = preved_uzly(5)
y = vypis_silu_vetru(x)
print('Prvni funkce vraci', x) # cislo
print('Druha funkce vraci', y) # None, protoze nevraci nic jineho prikazem return
nejmensi = int(input('Zadej cislo: ')) # prvni zadane cislo je zatim nejmensi
for i in range(4):
cislo = int(input('Zadej cislo: '))
if cislo < nejmensi: # kdyz je nove cislo mensi
nejmensi = cislo # prepis promennou nejmensi
print(nejmensi)
from turtle import forward, left, speed, exitonclick
speed('fastest')
# kolecko
for krok in range(360):
forward(1)
left(1)
forward(200)
# spirala
for i in range(360):
forward(i/15)
left(15)
forward(200)
# listek = 2 x ctvrtkolecko
for cara in range(2):
for krok in range(90):
forward(1)
left(1)
left(90)
exitonclick()
# pocitac si vylosuje nahodne cislo a uzivatel jej pak ma uhodnout,
# pocitac mu napovida, kterym smerem posunout svuj odhad
from random import randrange
horni_mez = 101
cislo = randrange(horni_mez)
#print(cislo) # jen pro testovaci ucely! :)
print('Hadej cislo od nuly do', horni_mez-1)
while True:
tip = int(input('Tvuj tip? ')) # pozor, vstup je potreba prevest na int
if tip > cislo: # protoze nelze takto porovnavat str a int
print('To je moc! Uber.')
elif tip < cislo:
print('To je malo! Pridej.')
else: # kdyz neni mensi ani vetsi, tak to musi byt ono
print('Spravne!')
break
heslo = input('Zadej heslo: ')
while heslo != 'pyladies': # pokud je splnena podminka (heslo neni pyladies),
print('To neni spravne.') # program vstoupi do cyklu
heslo = input('Zadej heslo: ') # odsud se vraci na zacatek ke kontrole podminky
print('Spravne!') # pokud podminka neplati, program pokracuje dal
print('A jeste jednou: ')
# druha varianta while
while True: # tato podminka plati vzdy
heslo = input('Zadej znovu heslo: ')
if heslo == 'pyladies':
print('Spravne!')
break # takze nekde musi byt cesta ven z cyklu
print('To neni dobre.')
print('Konec programu.')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment