Почему возникает ошибка при импорте двух функций из модуля?
Это код рабочей программы:
def printing_models(unprinted_models, completed_models):
"""Имитирует печать моделей"""
while unprinted_models:
current_printing = unprinted_models.pop()
print("Печатается в настоящий момент: " + current_printing)
completed_models.append(current_printing)
def show_completed_models(completed_model):
"""Выводит информацию о напечатанных моделях"""
print("\nНапечатанные проекты: ")
for completed_model in completed_models:
print(completed_model)
unprinted_models = ["iphone case", "robot pendant", "dodecahedron"]
completed_models = []
printing_models(unprinted_models, completed_models)
show_completed_models(completed_models)
Решил сохранить функции в отдельный модуль и потом попросту его импортировать. Однако после этого трассировщик почему-то выдает сообщение, что аргумент completed_models не определен
(NameError: name 'completed_models' is not defined)!
Ведь программа до этого выполнялась!
Почему выдает ошибку?
Файл, куда импортируется модуль:
#Файл, куда импортируется модуль
from printing_functions import *
unprinted_models = ["iphone case", "robot pendant", "dodecahedron"]
completed_models = []
printing_models(unprinted_models, completed_models)
show_completed_models(completed_models)
Импортируемый модуль
#Импортируемый модуль
def printing_models(unprinted_models, completed_models):
"""Имитирует печать моделей"""
while unprinted_models:
current_printing = unprinted_models.pop()
print("Печатается в настоящий момент: " + current_printing)
completed_models.append(current_printing)
def show_completed_models(completed_model):
"""Выводит информацию о напечатанных моделях"""
print("\nНапечатанные проекты: ")
for completed_model in completed_models:
print(completed_model)
Ответы (1 шт):
Автор решения: S. Nick
→ Ссылка
Попробуйте так:
main.py
#Файл, куда импортируется модуль
from printing_functions import *
unprinted_models = ["iphone case", "robot pendant", "dodecahedron"]
completed_models = []
completed_models = printing_models(unprinted_models, completed_models) # + completed_models = ...
show_completed_models(completed_models)
printing_functions.py
#Импортируемый модуль
def printing_models(unprinted_models, completed_models):
"""Имитирует печать моделей"""
while unprinted_models:
current_printing = unprinted_models.pop()
print("Печатается в настоящий момент: " + current_printing)
completed_models.append(current_printing)
return completed_models # +++
def show_completed_models(completed_models): # - completed_model; + completed_models
"""Выводит информацию о напечатанных моделях"""
print("\nНапечатанные проекты: ")
for completed_model in completed_models:
print(completed_model)
