Ошибка NameError: name 'value' is not defined

Как выборочно присвоить операцию из одного метода новому объекту класса? Я добавил в метод lte еще 2 операции возвращающие случайное значение, а так же добавил еще два объекта класса: my_lte_2 и my_lte_3. Как присвоить объекту my_lte_1 значение value_1, my_lte_2 значение value_2 и третьему соответственно? Возможно ли это выполнить не создавая новые методы?

import random
class Speed:
    def lte(self):
        value_1 = random.randint(0,40)
        return value_1
        value_2 = random.randint(0,100)
        return value_2
        value_3 = random.randint(0,250)
        return value_3

my_lte_1 = Speed()
print(my_lte_1.lte())

my_lte_2 = Sensors()
print(my_lte_2.lte())

my_lte_3 = Sensors() 
print(my_lte_3.lte())

Ответы (1 шт):

Автор решения: sakyrade
import random
class Speed:
    def lte(self, number: int):
        value = 0
        if number == 1:
            value = random.randint(0,40)            
        if number == 2:
            value = random.randint(0,100)
        if number == 3:
            value = random.randint(0,250)

        self.value = value

my_lte_1 = Speed()
my_lte_2.lte(2)
print(my_lte_1.value)

my_lte_2 = Sensors()
my_lte_2.lte(2)
print(my_lte_2.value)

my_lte_3 = Sensors() 
my_lte_3.lte(3)
print(my_lte_3.value)
→ Ссылка