Náhodné čísla + seznam – Python – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Náhodné čísla + seznam – Python – Fórum – Programujte.comNáhodné čísla + seznam – Python – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Dominik
~ Anonymní uživatel
121 příspěvků
13. 10. 2016   #1
-
0
-

Dobrý den,

jsem studentem prvního ročníku MU IT a narazil jsem ve scičení na problém, se kterým mi nedovedl poradit ani cvičící. Mám Kód: 

from random import randint
list1 = []
a = int(input("Kolik čísel budete chtít generovat? "))
b = int(input("Jaké bude minimální číslo "))
c = int(input("Jaké bude maximální číslo "))
x = y = z = 0
def dice_freq(a, b, c):
    global x,y,z
    list1 = []
    d = 0
    for i in range(a):
        list1.append(randint(b, c))
        d += list1[i]
    x = min(list1)
    y = max(list1)
    z = d/a
dice_freq(a, b, c)
print("Vaše čísla jsou ", list1)
print("Největší číslo je: ", y)
print("Nejmenší číslo je : ", x)
print("Průměrná hodnota čísel je: ", z)

V tomto kódu se mi nechce vypisovat celý seznam. Nevíte prosím, kde by mohla být chyba? Děkuji

Nahlásit jako SPAM
IP: 2001:718:801:22c:e0ff:3ad...–
Reklama
Reklama
JoDiK
~ Anonymní uživatel
981 příspěvků
13. 10. 2016   #2
-
0
-
Nahlásit jako SPAM
IP: 88.103.236.–
hanpari0
Návštěvník
13. 10. 2016   #3
-
0
-

#1 Dominik
Úplně nejjednodušší je zkrátka napsat, že globální list1 není tentýž jako lokální list1, který máš v těle funkce.

Ale...

Copak tě nikdo nevaroval před globálními proměnnými? Víš, že existuje nějaký return? A ten cvičící tě neupozornil, že takto bys to neměl dělat?

Nahlásit jako SPAM
IP: 178.72.234.–
hanpari0
Návštěvník
13. 10. 2016   #4
-
0
-

#1 Dominik

Pro jistotu, abych vysvětlil, jak by měl takový kód třeba vypadat. Tu lambdu samozřejmě použít nemusíš :)
 

from random import randint

def vypocitej(minimum, maximum, rozsah):
    data = tuple(randint(minimum, maximum) for i in range(rozsah))
    return data, min(data), max(data), sum(data)/len(data)

def main():
    data, min_, max_, prumer = vypocitej(* map(lambda x: int(input(x)),
                                               ("Min: ", "Max: ", "Rozsah")))
    print("Data: ", data)
    print("Minimum: ", min_)
    print("Maximum: ", max_)
    print("Průměr: ", prumer)

main()
Nahlásit jako SPAM
IP: 178.72.234.–
Zjistit počet nových příspěvků

Přidej příspěvek

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 48 hostů

Podobná vlákna

Náhodné čísla. — založil Kéfas

Nahodne cisla — založil Trebor

Náhodné čísla — založil Grungy

Pascal nahodne cisla — založil pietro62

Magický čtverec-náhodné čísla — založil Skywalker00

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý