質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

2回答

1418閲覧

python オブジェクト指向を使ってタクシー料金を表示させたい

TokyoNeetRazers

総合スコア18

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

1グッド

0クリップ

投稿2022/06/20 06:55

編集2022/06/20 09:38

python

1dist_price={2:770,3:1090,5:1570,10:2880} 2midnight_price={2:850,3:1170,5:1730,10:3100} 3 4class Taxi: 5 def __init__(self): 6 price=610 7 8 def get_taxi(dis,time): 9 dis=input(int("距離を入力(km)->") 10 return dis 11 12 time=input("時間帯を入力(通常or深夜)->") 13 return time 14 15 def gene_price 16 17 18 19 def midn_price 20 21 22 23 def discount_price

・初乗り料金(610円)を初期値とするコンストラクタを作成

・第一引数を距離、第二引数を時間(通常か深夜か)として受け取り料金を返すget_taxiメソッドを作成

・距離を引数として受け取り、通常料金を計算して、インスタンス変数に代入し、その値を返すgene_priceメソッドを作成

・距離を引数として受け取り、深夜料金を計算して、インスタンス変数に代入し、その値を返すmidn_priceメソッドを作成

・料金を引数として受け取り、料金割引き(2500円を超えた場合、2500円を超えた額に対して1割引き)を行い、料金を表示するdiscount_priceメソッド

・距離は10キロまでと想定しています。

まだ途中なのですが、gene,midn,discoundメソッドをどのように書けばよいのかわかりません教えてほしいです。

a22r1345👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tatsu99

2022/06/20 08:24

dist_price={2:770,3:1090,5:1570,10:2880} midnight_price={2:850,3:1170,5:1730,10:3100} の意味は何でしょうか。
TokyoNeetRazers

2022/06/20 09:03

値段です。2キロ以内は770円、2キロより上で3キロ以下は1090円です。下は深夜料金です
tatsu99

2022/06/20 09:35

gene_priceは、何を引数にとり、何を返すのでしょうか。gene_priceの仕様が不明です。 discount_priceは、計算した価格をインスタンス変数に可能する必要はないのでしょうか。
TokyoNeetRazers

2022/06/20 09:39

書き忘れていました、gene_praceは通常料金を返します
guest

回答2

0

自己解決

ありがとうございます。参考にさせていただくとともに学習させていただきます

投稿2022/06/20 13:44

TokyoNeetRazers

総合スコア18

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

以下、サンプルです。

python3

1dist_price={2:770,3:1090,5:1570,10:2880} 2midnight_price={2:850,3:1170,5:1730,10:3100} 3 4class Taxi: 5 def __init__(self): 6 self.price = 610 7 8 def get_taxi(self,dis,time): 9 if time == "深夜": 10 return self.midn_price(dis) 11 else: 12 return self.gene_price(dis) 13 14 def gene_price(self,dis): 15 global dist_price 16 its = dist_price.items() 17 for it in its: 18 if it[0] <= dis: 19 self.price = it[1] 20 return self.price 21 22 def midn_price(self,dis): 23 global midnight_price 24 its = midnight_price.items() 25 for it in its: 26 if it[0] <= dis: 27 self.price = it[1] 28 return self.price 29 30 def discount_price(self,p_price): 31 if p_price > 2500: 32 dis_price = p_price * 0.9 33 return dis_price 34 return p_price 35 36 37 38 39tx = Taxi() 40pr = tx.get_taxi(1.9,"深夜") 41print(pr) 42pr = tx.get_taxi(3,"通常") 43print(pr) 44

実行結果
610
1090

投稿2022/06/20 09:57

tatsu99

総合スコア5438

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問