Python/Kenjiro995/Náhodná čísla
Vzhled
< Python | Kenjiro995
Modul Random
[editovat]Náhodné desetiné číslo mezi 0.0 a 1.0
[editovat]import random
print(random.random())
Výstup:
0.5796892336927169
Náhodné celé číslo dle zadaného rozsahu
[editovat]random.randint(start, stop):
import random
print(random.randint(1, 100))
Výstup:
27
random.randrange(start, stop-1):
import random
print(random.randrange(1, 10))
Výstup:
6
Náhodná výběr ze seznamu prvků (čísla nebo text)
[editovat]import random
a = [1, 2, 3, 4, 5, 6]
print(random.choice(a))
Výstup:
6
Náhodné zamíchání prvků
[editovat]import random
a = [1, 2, 3, 4, 5, 6]
random.shuffle(a)
print(a)
Výstup:
[6, 2, 1, 3, 5, 4]
Náhodný výběr s váhou pravděpodobnosti a počtem výběrů
[editovat]import random
a = [1, 2, 3] # random.choise() funguje i s textvou proměnnou a = ["a", "b", "c"] nebo a = "abc"
print(random.choices(a, weights = [10, 1, 1], k = 14)) # položka s číslem 1 má váhu 10 proto se jednička objevuje nejčastěji
# váha (weight) musí mít tolik položek kolik je v populaci a
# počet výběrů k=14 říká že vybere 14 čísel
Výstup:
[1, 1, 1, 1, 3, 1, 2, 1, 1, 1, 1, 2, 3, 1]
Použití
[editovat]Zkoušení z počítání
[editovat]import random
a = random.randint(1, 100)
b = random.randint(1, 100)
zprava = str(a) + " + " + str(b) + " = "
cislo = int(input(zprava))
if cislo == a + b:
print("počítáš správně")
else:
print("počítáš špatně, správný výsledek je", a + b)
Výstup:
86 + 50 = 1 počítáš špatně, správný výsledek je 136
Házení kostkou
[editovat]import random
cislo = int(input("Kolikrát chceš hodit kostkou? "))
for i in range(cislo):
print(random.randint(1, 6))
Výstup:
Kolikrát chceš hodit kostkou? 3 4 3 1
import random
cislo = int(input("Kolikrát chceš hodit kostkou? "))
print(random.choices([1, 2, 3, 4, 5, 6], k = cislo))
Výstup:
Kolikrát chceš hodit kostkou? 5 [4, 1, 1, 6, 1]
import random
cislo = int(input("Kolikrát chceš hodit kostkou? "))
print(random.choices(range(1, 7), k = cislo))
Výstup:
Kolikrát chceš hodit kostkou? 5 [3, 4, 2, 5, 6]
import random
cislo = int(input("Kolikrát chceš hodit kostkou? "))
print(random.choices([1, 2, 3, 4, 5, 6], weights = [1, 1, 1, 1, 1, 10], k = cislo)) # šestka bude padat až 10x častěji
Výstup:
Kolikrát chceš hodit kostkou? 5 [4, 6, 5, 6, 6]
Hádej číslo
[editovat]import random
print("Budeš hádat číslo od 1 do 6 na které počítač myslí, hraješ třikrát.")
for i in range(3):
cislo = int(input("Hádej číslo: "))
a = random.randint(1, 6)
if cislo == a:
print("Uhodl si to, myslím na toto číslo", a)
else:
print("Neuhodl si, myslím na toto číslo", a)
Výstup:
Budeš hádat číslo od 1 do 6 na které počítač myslí, hraješ třikrát. Hádej číslo: 1 Neuhodl si, myslím na toto číslo 3 Hádej číslo: 5 Neuhodl si, myslím na toto číslo 3 Hádej číslo: 4 Uhodl si to, myslím na toto číslo 4
Generátor pin kódu (čtyři čísla)
[editovat]import random
print(random.choices(range(10), k = 4))
Výstup:
[9, 4, 4, 6]
import random
cislo = int(input("Kolik chceš generovat pin kódů? "))
for i in range(cislo):
print(random.choices(range(10), k = 4))
Výstup:
Kolik chceš generovat pin kódů? 8 [4, 9, 2, 6] [0, 2, 8, 6] [1, 6, 5, 1] [8, 9, 8, 3] [5, 8, 4, 6] [2, 4, 8, 4] [7, 7, 7, 3] [3, 0, 6, 2]