Advertisement
Guest User

Untitled

a guest
Mar 16th, 2024
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.50 KB | None | 0 0
  1. import numpy as np
  2. import plotly.graph_objects as go
  3. import plotly.io as pio
  4.  
  5.  
  6. def 楽天のポイント計算(積立額, カードのグレード):
  7.     # 楽天カードの計算式
  8.     return 積立額 * カードのグレード["倍率"] - カードのグレード["年会費"]
  9.  
  10.  
  11. def マネックスのポイント計算(積立額):
  12.     # マネックス証券の計算式
  13.     倍率_first = 1.1 / 100
  14.     倍率_second = 0.6 / 100
  15.     倍率_third = 0.2 / 100
  16.     第1段階金額 = 50000
  17.     第2段階金額 = 70000
  18.     第3段階金額 = 100000
  19.  
  20.     #  ポイントの計算式
  21.     if 積立額 <1段階金額:
  22.         合計ポイント = 積立額 * 倍率_first
  23.     elif1段階金額 <= 積立額 <2段階金額:
  24.         合計ポイント =1段階金額 * 倍率_first + (積立額 - 第1段階金額) * 倍率_second
  25.     elif2段階金額 <= 積立額 <=3段階金額:
  26.         合計ポイント = (
  27.             第1段階金額 * 倍率_first
  28.             + (2段階金額 - 第1段階金額) * 倍率_second
  29.             + (積立額 - 第2段階金額) * 倍率_third
  30.         )
  31.  
  32.     return 合計ポイント
  33.  
  34.  
  35. if __name__ == "__main__":
  36.     # 積立額
  37.     x = np.arange(100000)
  38.  
  39.     rakuten_normal_grade = {"年会費": 0, "倍率": 0.5 / 100}
  40.     rakuten_gold_grade = {"年会費": 2200 / 12, "倍率": 0.75 / 100}
  41.     rakuten_premium_grade = {"年会費": 11000 / 12, "倍率": 1 / 100}
  42.  
  43.     #  グラフ作成
  44.     plot = [
  45.         go.Scatter(
  46.             x=x,
  47.             y=[マネックスのポイント計算(x) for x in x],
  48.             mode="lines",
  49.             name="マネックス",
  50.         ),
  51.         go.Scatter(
  52.             x=x,
  53.             y=[楽天のポイント計算(x, rakuten_normal_grade) for x in x],
  54.             mode="lines",
  55.             name="楽天カード",
  56.         ),
  57.         go.Scatter(
  58.             x=x,
  59.             y=[楽天のポイント計算(x, rakuten_gold_grade) for x in x],
  60.             mode="lines",
  61.             name="楽天ゴールド",
  62.         ),
  63.         go.Scatter(
  64.             x=x,
  65.             y=[楽天のポイント計算(x, rakuten_premium_grade) for x in x],
  66.             mode="lines",
  67.             name="楽天プレミアム",
  68.         ),
  69.     ]
  70.     fig = go.Figure(data=plot)
  71.     # fig.show()
  72.     prefix = "go-scatter-line"  # 保存ファイル名の接頭辞
  73.     save_name = f"{prefix}_default_scatter"
  74.     pio.write_html(fig, f"{save_name}.html")
  75.     pio.write_image(fig, f"{save_name}.png")
  76.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement