私はPythonの初心者です。私は自分の関数を定義して、顧客がチケットの割引を受け取るかどうかを決定するプログラムを作成しています。最初に私は彼らが事前に登録しているかどうかを尋ね、if-then-elseの決定書を持っている私の機能を呼び出すか、10%の割引を適用するかしないかを尋ねます。私は私のプログラム、何か提案に間違って何をしているのかは不明です。 編集:私の出力は0 $を返します。事前登録していない場合は20 $、事前登録の場合は20 $の10%を計算したいと考えています。Python - 決定文と戻り変数を使用して関数を定義する
def determineDiscount(register, cost):
#Test if the user gets a discount here. Display a message to the screen either way.
if register == "YES":
cost = cost * 0.9
print("You are preregistered and qualify for a 10% discount.")
else:
print("Sorry, you did not preregister and do not qualify for a 10% discount.")
return cost
#Declarations
registered = ''
cost = 0
ticketCost = 20
registered = input("Have you preregistered for the art show?")
determineDiscount(registered, ticketCost)
print("Your final ticket price is", cost, "$")
ご質問はありますか?インデントがオフになっているので、実際に実行しているコードを反映するように修正してください。あなたは、「私がこのようなことをしたときなど、そのようなエラーが発生すると、完全なトレースバックです...」というような問題文を明確にする必要があります。インデントが正しいと仮定すると、私はすぐにあなたがあなたの関数が返す値を取得します。したがって、「コスト」は常に「0」になります –
質問を明記してください。実行されない場合は、エラースタックを提供してください。 – Musen
もう一つ、あなたが使用するPython。 2.7ではinput()はありませんが、python3ではそうです。 最終的にすべての入力を大文字に変換します。今すぐ "はい"を入力すると割引があります。 "はい"と入力すると、それを持っていません。 – darvark