Python Forum
Help with ValueError using ranint from random.
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Help with ValueError using ranint from random.
#1
Hi, I'm making a program that generates a given quantity of numbers randomly and prints them, but I don't understand why I get this error:

The code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
from random import randint
 
 
# n: normal, generates odd and even numbers.
 
def n_repeated(q_of_nums, minimum_number, maximum_number):
    """Generates odd and even numbers, they can be repeated."""
    print("The generated numbers are:")
    for i in list(range(q_of_nums)):
        x = randint(minimum_number, maximum_number)
        return
 
def n_nonrepeated(q_of_nums, minimum_number, maximum_number):
    """Generates odd and even numbers, they can't be repeated."""
    printed_numbers = []
    print("The generated numbers are:")
    while printed_numbers < q_of_nums:
        for i in list(range(q_of_nums)):
            x = randint(minimum_number, maximum_number)
            if x in printed_numbers:
                continue
            else:
                print(x, end=' ')
                printed_numbers.append(x)
 
 
n_repeated(6, 40, 1)


The error:
Error:
The generated numbers are: Traceback (most recent call last): File "test.py", line 27, in <module> n_repeated(6, 40, 1) File "test.py", line 10, in n_repeated x = randint(minimum_number, maximum_number) File "C:\Users\Franc\AppData\Local\Programs\Python\Python37-32\lib\random.py", line 222, in randint return self.randrange(a, b+1) File "C:\Users\Franc\AppData\Local\Programs\Python\Python37-32\lib\random.py", line 200, in randrange raise ValueError("empty range for randrange() (%d,%d, %d)" % (istart, istop, width)) ValueError: empty range for randrange() (40,2, -38)
Thanks in advance for your help.
Reply
#2
print values of minimum_number and maximum_number
just before executing line 10
Reply
#3
You're trying to get randint(40, 1). But 40 > 1, so there are no possible numbers randint could return. The first number needs to be less than the second number.
Craig "Ichabod" O'Brien - xenomind.com
I wish you happiness.
Recommended Tutorials: BBCode, functions, classes, text adventures
Reply


Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020