def renting_1(laptop, weeks):
laptop = 5 * weeks
if weeks > 10:
laptop -= 120
elif weeks > 5:
laptop -= 50
return laptop
def renting_2(textbooks, number_of_textbooks, weeks):
textbooks = number_of_textbooks * 20 + (10 * weeks)
if weeks >= 26:
textbooks -= (5 * (weeks - 26))
return textbooks
def school_cost(cost, weeks):
cost = 200 * weeks
return cost
def total_cost(weeks, number_of_textbooks):
return renting_1(weeks) + renting_2(number_of_textbooks, weeks) + school_cost(weeks)
print total_cost(22, 4)
(純粋に架空の)授業料を計算し、私はそれを実行したときに、私はこの
を受け取ることができ、コードを思い付いたので、私は関数と引数について学んだことを適用しようとしていますTraceback (most recent call last):
File "python", line 22, in <module>
File "python", line 20, in total_cost
TypeError: renting_1() takes exactly 2 arguments (1 given)
誰かが説明して多分コードを修正して、何が間違っていたかを分析できますか?
を必要とするすべてのですか?そこにはいけませんか?とにかく関数内で 'laptop'を再定義しています。 – abccd
ここに1つのパラメータを指定しました... 'renting_1(weeks)'エラーを読みます。 –
あなたの関数 'renting_1'、' renting_2'、 'school_cost'には、そこにあるべきではない最初の引数を追加しました。 'ラップトップ'、 '教科書'と 'コスト'をそれぞれ引数から削除します。これはタイプミスか、議論の仕方が分かりません。また、エラーメッセージも読んでください。 –