2017-02-21 13 views
1

私は、年齢を決定するために、今日の日付と生年月日の入力を求めるメッセージが表示されたら、コードを書き込もうとしています。年齢によってチケット価格がどれくらいか決定されます。彼らが14歳以下の場合、価格は5ドルになります。彼らが15から64であれば価格は9ドルになり、65歳以上であれば価格は7.50になります。それは、顧客がクーポンを持っているかどうかを尋ねる。私がこれまで持っているもの:入場料は年齢とクーポンに基づいています

print ("Hello, welcome to Hopper's Computer Museum! To determine your  enterance fee, please enter the following:") 

print ('Your Date of Birth (mm dd yyyy)') 
Date_of_Birth = input("--->") 

print ('Todays Date: (mm dd yyyy)') 
Todays_Date = input("--->") 


age = (tYear-bYear) 
if (bMonth > tMonth): 
    age == age-1 
if (bMonth == tMonth and 
    bDay > tDay): 
    age == age-1 

if age < 14: 
    price==5.00 
elif age > 15 and age < 64: 
    price==9.00 
elif age > 65: 
    price==7.50 

print ('Do you have a coupon (y/n)?') 
Discount = input("--->") 
if Discount == "y" or Discount == "Y": 
    price = price-1 
elif Discount == "n" or Discount == "N": 
    price = price 

print ('Your admission fee is $4.00 enjoy your visit!') 

私は、このような電気ショック療法tYear、bYear、BDAY、として私の変数を定義必要があることを知っているが、私はそれらを割り当てるべきかわかりません。あなたはDATE_OF_BIRTH =入力するのではなく、次の操作を行うことができます

+0

クマールのリンクのDanny W. Adairの答えのテクニックを使用する必要があります。 'mm dd yyyy '形式の日付文字列を' date'オブジェクトに変換するには 'from datetime import datetime' ...' dob = datetime.strptime(dob_string、'%m%d%Y ')を実行できます。 date() ' –

+1

あなたの年齢の' if'テストが正しくないそれは「年齢が14歳未満の場合」である必要があります。また、Pythonでチェーンを比較することもできますので、 'elif 15

答えて

1

あなたはbYearなど、tYearに値を割り当てるにはマップを使用することができます( '--->')

bDay,bMonth,bYear = map(int,raw_input('--->').split()) 

これはBDAY、bMonthとbYearなどを割り当てます入力フォーマットが 'dd mm yyyy'の場合、要件ごとに同様に、今日の日付では、次のように書くことができます。

tDay,tMonth,tYear = map(int,raw_input('--->').split()) 

代替のオプションは、datetimeを使用して年齢を計算することです。これに従う - Age from birthdate in python

+0

"raw_input"が定義されていないと言ったらどうしますか? –

+0

python 3.xを使用している場合は、input()を使用してください。 raw_inputは、python 3.xのinput()として名前が変更されました。 raw_input()はPython 2.xで有効です。 –

関連する問題