def mocniny(cislo):
seznam_mocnin = []
for i in range(1,cislo):
seznam_mocnin.append((i, i**2))
mocniny = dict(seznam_mocnin)
return mocniny
mocniny(4)
def mocniny(n):
slovnik_mocniny = {}
for i in range(1, n+1):
slovnik_mocniny[i] = i**2
return slovnik_mocniny
def soucet_klicu_a_hodnot(slovnik):
suma_klicu = 0
suma_hodnot = 0
for klic in slovnik:
suma_klicu += klic
for hodnota in slovnik.values():
suma_hodnot += hodnota
return (suma_hodnot, suma_klicu)
def soucet_klicu_a_hodnot(slovnik):
return((sum(slovnik.keys()), sum(slovnik.values())))
Musí tam být tolik závorek?
def vypocti_znaky(retezec):
slovnik = {}
for znak in retezec:
slovnik[znak] = retezec.count(znak)
return slovnik
import random
while True:
odpoved = input('Na kolik odpovědí chceš hrát? ')
try:
odpoved = int(odpoved)
break
except ValueError:
print('Musíš napsat celé číslo!')
kdo = []
s_kym = []
co_delali = []
kde = []
kdy = []
proc = []
vsechno = [kdo,s_kym,co_delali,kde,kdy,proc]
for i in range (odpoved):
kdo1 = input ('Kdo? ')
s_kym1 = input ('S kým? ')
co_delali1 = input ('Co dělali? ')
kde1 = input ('Kde? ')
kdy1 = input ('Kdy? ')
proc1 = input ('Proč? ')
print('')
kdo.append(kdo1)
s_kym.append(s_kym1)
co_delali.append(co_delali1)
kde.append(kde1)
kdy.append(kdy1)
proc.append(proc1)
a=random.choice(kdo)
b=random.choice(s_kym)
c=random.choice(co_delali)
d=random.choice(kde)
e=random.choice(kdy)
f=random.choice(proc)
print(a, b, c, d, e, f)
Řešení bez slovníků, ale hlavně takové, kde by nebylo úplně snadné přidat další otázky.
import random
kdo_seznam = []
s_kym_seznam = []
kde_seznam = []
co_delali_seznam = []
proc_seznam = []
for pocet in range(3):
kdo = input('Kdo? ')
kdo_seznam.append(kdo)
s_kym = input('S kým? ')
s_kym_seznam.append(s_kym)
kde = input('Kde? ')
kde_seznam.append(kde)
co_delali = input('Co dělali? ')
co_delali_seznam.append(co_delali)
proc = input('Proč? ')
proc_seznam.append(proc)
print(random.choice(kdo_seznam), 's', random.choice(s_kym_seznam),'v', random.choice(kde_seznam), random.choice(co_delali_seznam), random.choice(proc_seznam))
Řešení, kde přidání, změna či odebrání jakékoli otázky znamená jen změnu na jednom míste v seznamu otázek.
from random import choice
otazky = ['Kdo', 'S kym', 'Co delali', 'Kde']
odpovedi = {}
for otazka in otazky:
odpovedi[otazka] = []
for otazka in otazky:
while True:
odpoved = input('Zadej odpoved na otazku {}? '.format(otazka))
if not odpoved:
break
else:
odpovedi[otazka].append(odpoved)
veta = ''
for otazka in otazky:
veta = veta + choice(odpovedi[otazka]) + ' '
print(veta)