PR

今日の学習 関数内の条件分岐

プログラミングに集中している。Pythonで条件分岐を活用したロジックを考えている場面。 python
パソコンを使って、条件分岐のコード構築に集中する様子。

テーマ:「条件分岐」を使ったポイント計算を学ぶ

条件分岐によるポイント計算の学び

けんゆー
けんゆー

今回の学習では、購入金額や会員ステータスによって異なる処理を行う「条件分岐」をテーマにしました。実際にコードを書くことで、仕組みを少しずつ理解しながら、ポイント計算のような応用の方法も学ぶことができました。

問題

問題文の詳細

購入金額と会員ステータスによって、以下の条件でポイントを計算。

条件

  1. 購入金額の 1% を付与する。
  2. 会員ランクによるポイント倍率:「basic」1%、「premium」2%「gold」5%。
  3. 購入金額50,000円以上の場合、500ポイント追加。

与えられたデータ

# 利用するデータ1
total_price = 10000
user = {'user_id': 1, 'status': 'basic'}

# 関数の呼び出し
points = calculate_rewards(total_price, user)
print('入力1:購入金額が10,000円で、会員ステータスがbasicの場合')
print(points)  # 出力例: 100

print('-----------------------------')

# 利用するデータ2
total_price = 10000
user = {'user_id': 2, 'status': 'premium'}

# 関数の呼び出し
points = calculate_rewards(total_price, user)
print('入力2:購入金額が10,000円で、会員ステータスがpremiumの場合')
print(points)  # 出力例: 300

print('-----------------------------')

# 利用するデータ3
total_price = 10000
user = {'user_id': 3, 'status': 'gold'}

# 関数の呼び出し
points = calculate_rewards(total_price, user)
print('入力3:購入金額が10,000円で、会員ステータスがgoldの場合')
print(points)  # 出力例: 600

print('-----------------------------')

# 利用するデータ4
total_price = 50000
user = {'user_id': 3, 'status': 'gold'}

# 関数の呼び出し
points = calculate_rewards(total_price, user)
print('入力4:購入金額が50,000円で、会員ステータスがgoldの場合')
print(points)  # 出力例: 3500

完成したコードの解説

必要なロジックとその詳細

# pythonコード
def calculate_rewards(total_price,user):
  point_rate = 0.01 #基本のポイント付与率
  points = total_price * point_rate

  if user['status'] == 'premium':
    points += total_price * 0.02 #プレミアム会員の付与率

  if user['status'] == 'gold':
    points += total_price * 0.05 #ゴールド会員の付与率

  if total_price >= 50000:
    points += 500 #特典ボーナス(50000円以上の購入)

  return round(points) #小数点以下を四捨五入して返す

出力結果(実際の出力結果)

出力例:
入力1:購入金額が10,000円で、会員ステータスがbasicの場合
100
—————————–
入力2:購入金額が10,000円で、会員ステータスがpremiumの場合
300
—————————–
入力3:購入金額が10,000円で、会員ステータスがgoldの場合
600
—————————–
入力4:購入金額が50,000円で、会員ステータスがgoldの場合
3500

誤りやすい箇所と修正方法

誤り例

### 間違えたコード例
誤ったコード例:
```python
# 間違った辞書アクセス
if user('status') == 'premium':  # 文法ミス、括弧の使用が不適切

修正方法

# 正しい辞書アクセス
if user['status'] == 'premium':  # 正しい文法を用いる

学びのまとめ

今回の学習を通じて、条件分岐を基にしたプログラム設計のポイントを以下のように学びました。

  1. 条件分岐の使い方
    条件分岐によって、異なる入力データに対して柔軟な処理を実現できました。特に、if 文や elif の使い方、条件式の整理が重要であることを学びました。
  2. データの扱い方
    辞書型データを使うことで、会員ステータスや購入金額を効率的に管理しました。また、辞書の値にアクセスする正しい方法を確認しました(例:user['status'])。
  3. 実務で応用できる知識
    今回のポイント計算ロジックは、割引や料金計算などの実務でも活用できる仕組みです。また、柔軟な条件分岐による処理が、応用の幅を広げることを理解しました。

    コメント

    タイトルとURLをコピーしました