Как исправить «тип ошибки десятичного модуля» в Python - PullRequest
0 голосов
/ 27 июня 2019

Я делаю генератор случайных чисел, но я столкнулся с ошибкой кодирования

Я пытался исправить ошибку и проверить несколько решений, но они не работают

from decimal import Decimal
import random
def Random(num1,num2):
random_list=[random.randint(num1,num2)for i in range(num2)]
random_number=(random.choice(random_list))
randomer_number=random.choice(random_list)
print("The two numbers are",str(random_number),"and",str(randomer_number))

Я ожидаю генерацию случайного числа, но есть ошибка типа, при которой объект decimal.Decimal не может быть интерпретирован как целое число

1 Ответ

0 голосов
/ 27 июня 2019

Объект decimal.Decimal не может быть интерпретирован как целое число

Что здесь не ясно?Просто используйте range(int(num1)) вместо range(num1)

Я думаю, вы хотите что-то вроде

from decimal import Decimal
import random


def Random(num1,num2):
    random_list=[random.randint(num1, num2)for i in range(int(num2))]
    random_number=(random.choice(random_list))
    randomer_number=random.choice(random_list)
    return random_number, randomer_number

r1, r2 = Random(Decimal(1), Decimal(100))
print(f"The two numbers are {r1} and {r2}")

Это работает без ошибок

...