How to generate a random number with the amount of digits, the user enters?

I’m making a small math program for practice purposes.

The user is supposed to enter, how many digits the two summands should have.

I did this as shown below:

import random
digits = int(input("How many digits should the numbers have? "))
if digits == 1:
    while True:
        num1 = random.randint(0,9)
        num2 = random.randint(0,9)
        solution = num1 + num2
        print(str(num1) + " + " + str(num2) + " = ? ")
        question = input()

How can I automate the process, so that I don’t have to manually add the digits as they increase?

>Solution :

random.randint includes both bounders, so i think you mean random.randint(0, 9) in your example.

I suggest use math to solve your problem. n-digit number is number between 10**(n-1) and 10**n.

so it will look like this

digigts = int(digits)
num = random.randint(10**(digits - 1), 10**digits - 1)

Leave a Reply