2017-10-25 7 views
1

現在、私のCS125コースのプロジェクトに問題があります。このプロジェクトの前提は、どれくらい多くのカボチャの重量があるかをユーザに尋ねるプログラムを書いてから、多くのカボチャの重みを読み取って、それぞれの重量をコメント重、標準、または光で印刷することです。プログラムは、重みを平均し、小数点以下3桁で表示する必要があります。プログラムの焦点は、ただ一つの主要な機能ではなく、複数の機能を使用することです。これは問題が発生し始めたところです。私はこのプログラムをちょうど完了したと信じていますが、終わり近くに名前の誤りがあります。ここでのコードは、これまでのところです:名前エラーパンプキンプロジェクト

# File: weights.py 
# Date: 10/25/2017 
# Author: Marcus Kassab 
# Purpose: Print the average weight of a given number of pumpkins 

def intro(): 
    print() 
    print("Program to calculate the average of a") 
    print("group of pumpkin weights.") 
    print("You will be asked to enter the number of") 
    print("pumpkins, followed by each pumpkin weight.") 
    print("Written by Marcus Kassab.") 
    print() 

def getPumpkins(): 
    numPumpkins = int(input("Enter the number of pumpkins: ")) 
    print() #for turnin 
    #print() 
    totalWeight = 0 
    count = 0 
    for pumpkins in range(numPumpkins): 
     count = count + 1 
     pumpkinWeight = int(input("Enter the weight for pumpkin " + str(count) +": ")) 
     #print() #for turnin 
     totalWeight = totalWeight + pumpkinWeight 

     if pumpkinWeight >= 70: 
      print("{0:0.3f}".format(pumpkinWeight), "is heavy.") 
     elif pumpkinWeight >= 50 and pumpkinWeight < 70: 
      print("{0:0.3f}".format(pumpkinWeight), "is normal.") 
     else: 
      print("{0:0.3f}".format(pumpkinWeight), "is light.") 

    return numPumpkins, totalWeight 

def calcAverage(totalWeight, numPumpkins): 
    avg = float(totalWeight)/float(numPumpkins) 
    print("The average weight of the", numPumpkins, "pumpkins is, "{0:0.3f}".format(avg)) 

def main(): 
    intro() 
    getPumpkins() 
    calcAverage(totalWeight, numPumpkins) 

main() 

私はプログラムを実行すると、それは私が次のエラーを取得するcalcAverage、に到達するまで、それは罰金に動作します:

Traceback (most recent call last): 
File "/Users/marcuskassab/Documents/Courses 2017-18/CS 125/Projects/weights.py", line 45, in <module> 
main() 
File "/Users/marcuskassab/Documents/Courses 2017-18/CS 125/Projects/weights.py", line 43, in main 
calcAverage(totalWeight, numPumpkins) 
NameError: name 'totalWeight' is not defined 

私がどこか分かりませんgetPumpkins()のtotalWeightを定義することが効果的だと思っていたので、エラーがあります。しかし、calcAverageのどこかでは動作していないようです。このエラーの援助は非常に高く評価されます!

+0

numPumpkins、totalWeight = getPumpkins()関数の戻り値を取得してください。 – davedwards

答えて

0

getPumpkins()の変数はmain()に戻りますが、calcAverage(totalWeight, numPumpkins)の次の行で変数を使用しようとする前に、変数をどこにも格納していません。

0

getPumpkins()は、タプルをmainに戻していて、何も割り当てていません。次の行を変更してください。main()

numPumpkins, totalWeight = getPumpkins()