空之要塞:启航用Python模拟同花顺触发概率——Ai教我写代码
空之要塞:启航用Python模拟同花顺触发概率——Ai教我写代码如下:
每次造成暴击伤害,都会有9%的概率触发同花顺三件套被动。假设暴击率100%,普攻速度10发/s,那10秒钟同花顺能生效多少次呢?
10×10×9%=9次?
可别忘了同花顺还有一秒cd的限制,所以只是理论上最多9次,而实际情况究竟如何呢?
概率论我早忘光了,所以直接用Python模拟了不同普攻速度的效果,结果如下。
当然能触发同花顺的不只是普攻,比如千岁攻速虽然只有5/s每秒,但算上自动技和潜能,每秒差不多能造成7次伤害。按7/s来模拟的话,10秒钟同花顺触发频率接近4次。
能把同花顺发挥得最好的其实是男主,大招持续10s,打100发,攻速相当于20/s。
下面附上代码。其实我也不会python,是直接求助了现在很火的chatgpt。想不到AI还真好使,不但给出了解决方案,还能根据需求修改代码。但为了能让ai准确理解问题,得把描述转化一下,这花费了不少时间。
import random
# 定义变量
red_balls = 0 # 同花顺触发次数
last_red_ball_time = None # 上次触发时间
# 模拟10000秒的过程,10次攻击为1s,所以括号里填100000
for time in range100000): # 从0秒开始循环,模拟每一秒的情况
# 以9%的概率抛出一个球
if random.random() < 0.09:
# 如果抛出的是红球
if last_red_ball_time is None or time - last_red_ball_time >= 10: #判断两次触发间隔是否大于1s。因为10次攻击为1s,所以这里是>=10。
red_balls += 1
last_red_ball_time = time
# 输出结果
print(red_balls)
以上就是空之要塞:启航用Python模拟同花顺触发概率——Ai教我写代码相关内容。