私はEric Matthes氏の本「Python Crash Course」を読んでいますが、私は練習8-15で問題を抱えているようです。Python Crash Course 8-15、定義されていないエラー
8-15は、「print_models.pyの関数をprint_functions.pyという別のファイルに入れます。print_models.pyの一番上にimport文を記述し、インポートされた関数を使用するようにファイルを変更します。ここで
はprinting_functions.pyモジュールのための私のコードです:ここでは
def print_models(unprinted_designs, completed_models):
"""Simulate printing each design, until none are left.
Move each design to completed_models after printing."""
while unprinted_designs:
current_design = unprinted_designs.pop()
# Simulate creating a 3D print from the design.
print("Printing model: " + current_design)
completed_models.append(current_design)
def show_completed_models(completed_models):
"""Show all the models that were printed."""
print("\nThe following models have been printed:")
for completed_model in completed_models:
print(completed_model)
unprinted_designs = ['iphone case', 'robot pendant', 'dodecahedron']
completed_models = []
print_models(unprinted_designs, completed_models)
show_completed_models(completed_models)
は、運動のために私のコードです8-15
import printing_functions as pf
pf.print_models(unprinted_designs, completed_models)
pf.show_completed_models(completed_models)
unprinted_designs = ['iphone case', 'robot pendant', 'dodecahedron']
completed_models = []
print_models(unprinted_designs, completed_models)
show_completed_models(completed_models)
このコードを実行すると、モジュールと同じ出力を受け取ることができます。しかし、私はまた、「unprinted_designs」が定義されていないことを述べ、下部にエラーを受け取ります。しかし、私は明らかにこの変数をリストの中で私のコードの最下部に定義しているので、なぜこのエラーが出るのかわかりません。
誰かが私が間違っている可能性のあるアイデアはありますか?どんなフィードバックも高く評価されます。あなたの時間をありがとう。
なぜ 'print_functions.py'に無関係なコードがありますか?それは正確なコピーなので、関数内にないコードを取り除く。変数を使用する前に定義してください。 – Li357