Odpowiedź :
Nie napisałeś o jaki język programowania chodzi. Poniżej masz w python3 - jak trzeba przepisać na inny język to będziesz miał już ułatwione zadanie.
Rozwiązanie z funkcją zwracającą liczbę losową na podstawie przekazanej 1 zmiennej (klucz, czyli X):
import random
def zwrocLiczbeLosowa(klucz):
liczba = random.randrange(1,klucz)
return liczba
if __name__ == "__main__":
print("\n" + "#" *40)
print("Klucz - liczba z przedziału 1-X")
print("Wartość - ilość wystąpień danej liczby")
print("#" *40 + "\n")
while True:
try:
klucz = int(input("Podaj klucz: "))
if klucz < 1:
print("BŁĄD! Podaj liczbę większą od 1.\n")
else:
break
except ValueError:
print("BŁĄD! Podaj liczbę całkowitą.\n")
while True:
try:
wartosc = int(input("Podaj wartość: "))
if wartosc < 1:
print("BŁĄD! Podaj liczbę większą od 1.\n")
else:
break
except ValueError:
print("BŁĄD! Podaj liczbę całkowitą.\n")
print("\n" + "#" *40)
print(f"Podany klucz: {klucz}")
print(f"Podana wartość: {wartosc}")
print("#" *40 + "\n")
print(f"\nWyświetlam {wartosc} losowych liczb z zakresu 1-{klucz}:")
for i in range(wartosc):
print(zwrocLiczbeLosowa(klucz))
Rozwiązanie z funkcją, do której przekazywane są obie zmienne - tj. klucz i wartość - na podstawie, których tworzona i zwracana jest tablica wyników. Potem tylko przypisujemy sobie to co zwraca funkcja do zmiennej (mojeWyniki) i wyświetlamy po jednej linijce wszystko z listy:
import random
def generujWynik(klucz, wartosc):
tablicaWynikow = []
for i in range(wartosc):
tablicaWynikow.append(random.randrange(1,klucz))
return tablicaWynikow
if __name__ == "__main__":
print("\n" + "#" *40)
print("Klucz - liczba z przedziału 1-X")
print("Wartość - ilość wystąpień danej liczby")
print("#" *40 + "\n")
while True:
try:
klucz = int(input("Podaj klucz: "))
if klucz < 1:
print("BŁĄD! Podaj liczbę większą od 1.\n")
else:
break
except ValueError:
print("BŁĄD! Podaj liczbę całkowitą.\n")
while True:
try:
wartosc = int(input("Podaj wartość: "))
if wartosc < 1:
print("BŁĄD! Podaj liczbę większą od 1.\n")
else:
break
except ValueError:
print("BŁĄD! Podaj liczbę całkowitą.\n")
print("\n" + "#" *40)
print(f"Podany klucz: {klucz}")
print(f"Podana wartość: {wartosc}")
print("#" *40 + "\n")
print(f"\nWyświetlam {wartosc} losowych liczb z zakresu 1-{klucz}")
mojeWyniki = (generujWynik(klucz, wartosc))
for wynik in mojeWyniki:
print(wynik)
Działanie (oba skrypty pokażą to samo):
❯ python3 liczby.py
########################################
Klucz - liczba z przedziału 1-X
Wartość - ilość wystąpień danej liczby
########################################
Podaj klucz: asd
BŁĄD! Podaj liczbę całkowitą.
Podaj klucz: 0
BŁĄD! Podaj liczbę większą od 1.
Podaj klucz: -5
BŁĄD! Podaj liczbę większą od 1.
Podaj klucz: 99
Podaj wartość: 5
########################################
Podany klucz: 99
Podana wartość: 5
########################################
Wyświetlam 5 losowych liczb z zakresu 1-99:
80
53
78
19
92
Pozdrawiam