Не меняются значения переменных

Рейтинг: 0Ответов: 1Опубликовано: 16.07.2023

Мне нужно создать рандомайзер на 3 числа, но я хочу сделать это в 2 файла, в одном механика рандома, в другом просто импорт и вывод чисел, такой код у меня есть: вот сама механика

list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
spin1 = random.choice(list)
spin2 = random.choice(list)
spin3 = random.choice(list)
data_lotery = {'spin1': spin1, 'spin2': spin2, 'spin3': spin3}

а в другом файле это просто выводится Но при импорте в другой файл, значения не меняются, конечно, можно всю механику запихнуть к выводу, но это не красиво, можете подсказать еще пути решения?

Ответы

▲ 0Принят
  1. Для регенерации чисел при каждом запросе к данному файлу, стоит поместить код в функцию.

  2. Не следует использовать в качестве имён переменных зарезервированные в языке имена. В данном случае, Вы используете list, который является этим самым зарезервированным именем.

Файл, в котором генерируются рандомные числа (file1.py):

import random 

numbers_list = list( range(0, 10) ) # генерирует список от 0 до 9

def generate_random_numbers():
    spin1 = random.choice(numbers_list)
    spin2 = random.choice(numbers_list)
    spin3 = random.choice(numbers_list)

    data_lotery = {
        "spin1": spin1,
        "spin2": spin2,
        "spin3": spin3,
    }
   
    return data_lotery

Файл, в котором данные числа запрашиваются (file2.py):

from file1 import generate_random_numbers

data_lotery = generate_random_numbers() # запуск функции из первого файла

print(data_lotery) # Вывод полученных из функции чисел