最近想要购买leetcode会员,但不知道买啥好,打算用python可视化数据进行一个简单的分析
具体数据如下
- curve 1: 首两月79元每月,后续连续包月59
- curve 2: 90天199
- curve 3: 365天365(学生认证)
这么看,数据就一目了然了。该选择何种价格,完全取决于个人需要leetcode会员时间,由上述图可知,如果你需要至少5个月的会员,那么curve 3才适合你,(因为curve 3比curve 1贵30,但长了半年)
如果你只需要3个月,curve 2适合你。
不得不说,python真好用啊我靠,以后有时间得狠狠学一波python
可视化代码
import matplotlib.pyplot as plt
import math
# 定义函数
def curve_1(x):
return 79 * x if x <= 2 else 59 * (x - 2) + 158
def curve_2(x):
return (int) (math.ceil(x / 3) * 199)
def curve_3(x):
return 365
# 创建数据集
x_values = list(range(1, 13))
y_values_1 = [curve_1(x) for x in x_values]
y_values_2 = [curve_2(x) for x in x_values]
y_values_3 = [curve_3(x) for x in x_values]
# 绘制曲线
plt.plot(x_values, y_values_1, label='Curve 1')
plt.plot(x_values, y_values_2, label='Curve 2')
plt.plot(x_values, y_values_3, label='Curve 3')
# 添加图例
plt.legend()
# 显示每个x对应的y值
for i in range(len(x_values)):
plt.text(x_values[i], curve_1(x_values[i]), str(curve_1(x_values[i])))
plt.text(x_values[i], curve_2(x_values[i]), str(curve_2(x_values[i])))
plt.text(x_values[i], curve_3(x_values[i]), str(curve_3(x_values[i])))
# 显示图形
plt.show()