powtarzanie losowania liczb

0

Cześć

Próbuje zrobić mały programik, który będzie generował liczby z podanej puli określoną przez użytkownika ilość razy. Jednak za każdym razem generowany on jest tylko raz. Jaki błąd robię?

import random

def draw(i, x, y, repetition_of_draws, b):
   """lotto drawing"""
   while b in range(repetition_of_draws):
       while i<x:
           z = random.randint(1, y)
           if number.count(z) == 0:
               number.append(z)
               i += 1
           b += 1
   print(number)

   
x = int(input('Ile liczb wylosować?'))
y = int(input('Ile liczb jest w puli?'))
repetition_of_draws = int(input('Ile razy powtórzyć losowanie?'))

b = 0
i = 0
k=0
number = []

draw(i, x, y, repetition_of_draws, b)
2

Masz paskudną zmienną lokalną number -- po co Ci ona? number=[] nie powinno być w funkcji? Przed drugim while wraz z i=0.

A do meritum: pierwsze while zamień na for. A, i wywal: b += 1 i zrób wcięcie przed print

I wyrzuć jeszcze i z argumentów funkcji...

Chyba tyle -- ale baboli... :)

0

@koszalek-opalek:
chce tak zrobić, żeby program docelowo zapisywał wyniki i pokazywał ile liczb zostało najczęściej wylosowanych. Na for już zamieniałem i nie pomagało mi to

0
Zieli napisał(a):

@koszalek-opalek:

chce tak zrobić, żeby program docelowo zapisywał wyniki i pokazywał ile liczb zostało najczęściej wylosowanych. Na for już zamieniałem i nie pomagało mi to

Zrób mniej więcej te zmiany, o których pisałem, a potem zobaczymy co dalej...:)

0

@koszalek-opalek: Działa! Dzięki Ci wielkie:D

1 użytkowników online, w tym zalogowanych: 0, gości: 1