Search
Na vstupu přečtěte celé číslo reprezentující útratu v hospodě v Kč. Vypiště kolik mincí je minimálně potřeba zaplacení účtu, pokud nemůžete platit bankovkami. Vypiště také, které mince to budou. Připomínáme, že české mince mají hodnoty: 1, 2, 5, 10, 20 a 50.
Vzorový vstup:
Zadejte vasi utratu: 79
Vzorový výstup:
Celkem je potreba 5 minci Pocet minci o hodnote 50 Kc: 1 Pocet minci o hodnote 20 Kc: 1 Pocet minci o hodnote 10 Kc: 0 Pocet minci o hodnote 5 Kc: 1 Pocet minci o hodnote 2 Kc: 2 Pocet minci o hodnote 1 Kc: 0
Pokud je zákazník příliš dlouho v hospodě, pokusí se zadat záporné číslo. Všechny podobné situace musíte ve svých kódech ošetřovat a vypsat odpovídající chybovou hlášku.
Řešení
Pokud potřebujete opakovat určitou část kódu několikrát, můžete tento program napsat pouze jednou a vložit jej do cyklu. Pro začátek se seznámíme s for cyklem. Jeho fungování si předvedeme na jednoduchém příkladu, kdy chceme 10-krát vypsat nápis “Hello world!”, který nám je již dobře známý.
for i in range(0, 10): print("Hello world!")
Cyklus začíná první hodnotou a zvyšuje hodnotu i, dokud je menší než druhá hodnota rozsahu (10).
Pro některé úlohy nám nestačí jednoduchý cyklus. V takovém případě je možné vytvořit vnořený cyklus (vícenásobný). Jeho fungování si budeme demonstrovat na následujícím příkladu:
for i in range(1, 5): for j in range(1, i): print(j) print("---")
Výstup tohoto programu bude:
--- 1 --- 1 2 --- 1 2 3 ---
Někdy je v programu užitečné generovat náhodná čísla. Právě k tomuto účelu slouží modul random. Jeho funkce randint(a, b) vrátí celé číslo v intervalu <a, b>. Její použití demonstruje následující příklad, který vygeneruje náhodné číslo z rozsahu 1 až 6, a tedy simuluje hrací kostku.
# Program hraci kostka import random x = random.randint(1, 6) print(x)
Takto vygenerovaná čísla ve skutečnosti nejsou náhodná, ale pseudonáhodná. To znamená, že jsou počítána jasně definovaným algoritmem, který vytváří takovou posloupnost čísel, že se její prvky zdají být náhodné.
Pokud chcete vygenerovat desetinné číslo, použijte funkci random(). Ta vygeneruje číslo z intervalu <0, 1).
import random x = random.random() print(x)
Pseudonáhodná čísla můžeme použít například při odhadu hodnoty pi metodou Monte Carlo (bude vysvětleno na tabuli.)
Přečtěte číslo N ze standardního vstupu a poté:
Přečtěte celé číslo N ze standardního vstupu. Vypiště čísla 1 až N. Oddělte je vždy čárkou a mezerou. Pozor, za posledním číslem žádná čárka ani mezera být nemá.
print("abc",end="")
Vzorový výstup pro N=5:
1, 2, 3, 4, 5
Přečtěte celé číslo N ze standartního vstupu. Vypiště čísla od N do 1 sestupně se stejným formátováním.
5, 4, 3, 2, 1
Napište program pro výpočet faktoriálu. Program načte jedno číslo (předpokládejte, že se jedná o přirozené číslo nebo nulu) a následně spočítá a vypíše faktoriál tohoto čísla. Připomeňmě, že faktoriál čísla n je definován takto:
Pro ověření správnosti vašeho programu si můžete výsledky zkontrolovat s následujícím seznamem:
Napište program, který načte jedno číslo (předpokládejte, že se jedná o přirozené číslo) a vypíše, zda se jedná o prvočíslo. Poznamenejme, že prvočíslo je takové přirozené číslo, které má právě dva dělitele: jedničku a samo sebe. Tedy číslo jedna není prvočíslo!
Přečtěte binární zápis čísla na vstupu a vypište jeho hodnotu v dekadickém zápise (normální číslo).
text = input("Zadejte cislo ve dvojkove soustave: ") delka = len(text)
Vzorový vstup
10101
Vzorový výstup
21
Modifikujte program na testování prvočíselnosti tak, aby vypsal všechna prvočísla menší než zadané n.
Načtěte hodnotu N na vstupu a vypiště jednotkovou matici o velikosti N*N.
Vzorový výstup pro N=3
1, 0, 0 0, 1, 0 0, 0, 1
Načtěte na vstupu liché číslo N větší nebo rovno 5 a vypište na konzoli “baráček” o odpovídající velikosti. Pokud čílo není liché nebo je menší než 5. Vypiště nějakou chybovou hlášku.
Vzorový výstup pro N=5
X X X XXXXX X X X X x X XXXXX
Napište program, který načte přirozené číslo n. Pak tento program vypíše n-tý člen Fibonacciho posloupnosti.
Napište program, který načte dvě přirozená čísla a najde a vytiskne jejich největšího společného dělitele.
Napište program, který načte dvě celá čísla a vypíše součet všech celých čísel v uzavřeném intervalu mezi nimi.
Napište program který načte dvě přirozená čísla, základ a exponent, a vypočítá hodnotu základexponent. Nezapomeňte, že hodnota 00 není definovaná.
Např.:
Zadejte zaklad: 5 Zadejte exponent: 3 5^3 = 125
Napište program, který vygeneruje 10 náhodných čísel v rozsahu 1 až 100. Program spočítá počet sudých a lichých čísel. Program dále spočítá průměrnou hodnotu všech čísel. Nakonec program nalezne největší a druhé největší číslo.