Skip to content

Instantly share code, notes, and snippets.

@brabemi
Last active April 11, 2019 08:41
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save brabemi/fdf64ffcd72777a22ae820354da1a993 to your computer and use it in GitHub Desktop.
Save brabemi/fdf64ffcd72777a22ae820354da1a993 to your computer and use it in GitHub Desktop.
PyLadies - Praha (NTK) - jaro 2019 - Lekce 5 – Řetězce
def vypis_hezky_nasobilku(maximum):
for radek in range(maximum):
for sloupec in range(maximum):
# formátování viz https://naucse.python.cz/2019/pyladies-praha-jaro-ntk/beginners/str/
# Do {} lze zapsat, jak má výstup vypadat viz https://pyformat.info/
# : - pomocný znak, > - zarovnat vpravo, 3 - šířka na 3 znaky
print('{:>3}'.format(radek * sloupec), end=' ')
print()
vek = 18
jmeno = 'Jan'
prijmeni = 'Kolar'
print(prijmeni, jmeno, vek)
vypis = '{} {}: {} let'.format(jmeno, prijmeni, vek)
print(vypis)
vypis = '{krestni}: {vek} let'.format(vek=vek, krestni=jmeno)
print(vypis)
vypis_hezky_nasobilku(10)
import random
def hod_kostkou():
return random.randint(1, 6)
def hra_hrace():
pocet_hodu = 0
while True:
hod = hod_kostkou()
pocet_hodu += 1
print(hod, end=' ')
if hod == 6: # Pokud padne 6 přeruš while cyklus
break
print()
return pocet_hodu
def hra(pocet_hracu):
maximum_hodu = 0 # 0 je bezpečná, každý musí hodit minimálně 1x
vedouci_hrac = 0 # hráč 0 neexistuje
for hrac in range(1, pocet_hracu + 1):
print('Hází hráč', hrac)
pocet_hodu = hra_hrace()
if pocet_hodu > maximum_hodu:
maximum_hodu = pocet_hodu
vedouci_hrac = hrac
print('Vede hráč ', vedouci_hrac, ', který házel ', maximum_hodu, 'x', sep='')
print('Vyhrál hráč ', vedouci_hrac, ', který házel ', maximum_hodu, 'x', sep='')
hra(4)
text = 'tajneHeslo1'
delka = len(text)
# pokud chceme znát pozici
for pozice in range(delka):
print('Pozice', pozice, 'pismeno', text[pozice])
# pokud chceme jen znaky jeden po druhém
for znak in text:
print(znak)
# jak otočit řetězec
obraceny_text = ''
# pomocí iterace, stačí jít znak po znaku a přidávat na začátek
for znak in text:
obraceny_text = znak + obraceny_text
print(text)
print(obraceny_text)
# řešení, které najdete pokud budete googlit
# [od:do:krok] - řezání od začátku do konce
# '0123456789'[0::2] -> zařátek až konec, krok 2 -> '02468'
# '0123456789'[1::2] -> od znaku na pozici 1 až konec, krok 2 -> '13579'
obraceny_text2 = text[::-1]
print(text)
print(obraceny_text2)
print('o' in 'čokoláda') # True, o je ve slově čokoláda
print('ř' in 'čokoláda') # False, ř není ve slově čokoláda
print('o' not in 'čokoláda') # False, o je ve slově čokoláda
print('ř' not in 'čokoláda') # True, ř není ve slově čokoláda
print('oko' in 'čokoláda') # True, oko je ve slově čokoláda
print('okoř' in 'čokoláda') # False, okoř není ve slově čokoláda
print('xxx' in '--ox-xo--') # False, xxx není --ox-xo--
print('xxx' in '--oxxxo--') # True, xxx je --oxxxo--
text = input('Jsi muž? ')
# Chceme poznat uživatel napsal ano
# testovat ano, Ano, aNo, anO, ANo, AnO, aNO, ANO by bylo hrozně moc if ... elif
# .lower() nám převede všechny tyto varianty na ano, pak nám stačí jeden if
# lze použít .upper(), které by vytvořilo ANO
text_lower = text.lower()
if text_lower == 'ano':
print('Budu ti říkat Pepa')
else:
print('Budu ti říkat Anna')
def vypis_nasobilku(maximum):
for radek in range(maximum):
for sloupec in range(maximum):
print(radek * sloupec, end=' ')
print()
def vypis_hezky_nasobilku(maximum):
for radek in range(maximum):
for sloupec in range(maximum):
# formátování viz https://naucse.python.cz/2019/pyladies-praha-jaro-ntk/beginners/str/
# Do {} lze zapsat, jak má výstup vypadat viz https://pyformat.info/
# : - pomocný znak, > - zarovnat vpravo, 3 - šířka na 3 znaky
print('{:>3}'.format(radek * sloupec), end=' ')
print()
vypis_nasobilku(10)
print()
vypis_hezky_nasobilku(10)
def prostredni_pismeno(text):
if text == "":
return ""
delka = len(text)
stred = delka // 2
if delka % 2 == 1:
return text[stred]
else:
return text[stred - 1] + text[stred]
print(prostredni_pismeno("test") == "es") # vrátí "es"
print(prostredni_pismeno("testing") == "t") # vrátí "t"
print(prostredni_pismeno("middle") == "dd") # vrátí "dd"
print(prostredni_pismeno("AB") == "AB") # vrátí "AB"
print(prostredni_pismeno("A") == "A") # vrátí "A"
print(prostredni_pismeno("") == "") # vrátí ""
def schody(patra):
for patro in range(patra):
for krok in range(patro + 1):
print('X ', end='')
print()
# X
# X X
# X X X
# X X X X
# X X X X X
schody(5)
# 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 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 X X X X X
schody(10)
jmeno = "Karel"
prijmeni = "Novak"
inicialy = jmeno[0] + prijmeni[0]
print(inicialy)
# první 3 písmena přijmení + první 3 písmena jména
username = prijmeni[0:3] + jmeno[0:3]
print(username)
# pokud chceme zařít od začátku není třeba psát 0
username = prijmeni[:3] + jmeno[:3]
print(username)
# začištění, nechceme username NovKar ale novkar
username = username.lower()
print(username)
# len() vrací délku řetězce
delka = len(username)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment