本文是基于python建立简单数学模型,计算潮玩宇宙矿洞复投一年的收益情况,并且简要分析减产是否会影响宝石收益。
一、数学模型
主要分为两个模块: 复投模块。按照天为计量单位,每天每种矿限投一次,优先高级矿。 数据更新模块。按照天为计量单位,计算每种矿产出,然后更新闲置宝石数量以及矿洞宝石数量。若矿中剩余宝石不足以产生对应等级一天的宝石量,则清理该矿洞。
二、主体代码
Liquidity = float(input("宝石数量:"))
Fixed_funds = [{}, {}, {}, {}, {}]
day = 0
def investment(t):
#投矿
global Fixed_funds, Liquidity
day = t
#print(Liquidity, t)
if Liquidity >= 100000:
Liquidity -= 100000
Fixed_funds[-1][f"十万矿 第{day}天投"] = 1.28*100000
if Liquidity >= 10000:
Liquidity -= 10000
Fixed_funds[-2][f"万矿 第{day}天投"] = 1.25*10000
if Liquidity >= 1000:
Liquidity -= 1000
Fixed_funds[-3][f"千矿 第{day}天投"] = 1.22*1000
if Liquidity >= 100:
Liquidity -= 100
Fixed_funds[1][f"百矿 第{day}天投"] = 1.2*100
if Liquidity >= 10:
Liquidity -= 10
Fixed_funds[0][f"十矿 第{day}天投"] = 1.2*10
#print(Liquidity, Fixed_funds)
return None
def up(day):
# 更新矿产以及宝石数量
global Fixed_funds, Liquidity
sum = 0.0
li = []
tx = 0.75 #减产系数
c = [(x/30)*tx for x in [12, 120, 1220, 12500, 128000]]
for index, i in enumerate(Fixed_funds):
if len(i) > 0:
for kye in i.keys():
if i[kye] - c[index] > 0:
sum += c[index]
i[kye] -= c[index] #更新
else:
sum += i[kye]
li.append(kye)
for name in li:
del i[name]
li = []
#print(f"第{day}天收入{sum}颗")
Liquidity += sum
def js(Fixed_funds, Liquidity):
#print("\n")
s = [0.0]*5
n = ["十矿总量:","百矿总量:","千矿总量:","万矿总量:","十万矿总量:"]
for index,i in enumerate(Fixed_funds):
if len(i)>0:
for kye in i.keys():
s[index] += i[kye]
for j in range(len(s)):
print(n[j]+ str(s[j]))
print(f"流动宝石总量:{Liquidity},\n固定宝石总量:{sum(s)}")
if __name__=="__main__":
while day < 365:
day += 1
investment(day)
up(day)
js(Fixed_funds, Liquidity)
#计算产出
#investment(13412, 20)
三、简要分析
以基础本金100颗宝石为例,首先设置减产系数为1,也就是不减产。计算结果如下:
宝石总量约为6124颗,并且主要存在矿洞中。再设置减产系数为0.75,也就是减产25%,计算结果如下:
宝石总量约为2550颗,也主要存在矿洞中。一年时间同不减产相比,在该复投模式下,宝石拥有量大约降幅140.15%,也就是大概少了3570颗。