过年了,刘备、关羽、张飞一起放鞭炮,每一个人一支香,每人初始都为N个鞭炮(散),刘备每一秒燃放一个,关羽每两秒燃放一个,张飞每三秒燃放一个,在不考虑燃烧时间跟安全的情况下,鞭炮即点即炸,开始的时候大家一起开始放鞭炮,问大家都放完时,一共可以听到多少次响声?一共花了多长时间?
鞭炮数量需要由用户进行输入,然后根据输入的鞭炮数量计算响声和燃放时间。
鞭炮燃放情况可以参考下面示例(鞭炮数量为3)
时间 刘备 关羽 张飞
1 放 放 放
2 放
3 放 放
4 放
5 放
6
7 放num = int(input("请输入鞭炮数量:")) # 响声次数 boom = 0 # 记录每个人的放炮数量 lb = 0 gy = 0 zf = 0 # 响炮时间 time = 0 if num < 0: print("鞭炮数量怎么可能是负的!") while True: time += 1 # 这一秒刘备放炮吗? lbPao = lb < num and ((time - 1) % 1 == 0) if lbPao: lb += 1 # 这一秒关羽放炮吗? gyPao = gy < num and ((time - 1) % 2 == 0) if gyPao: gy += 1 # 这一秒张飞放炮吗? zfPao = zf < num and ((time - 1) % 3 == 0) if zfPao: zf += 1 # 其中一人放炮了,就有响声,响声加一 if lbPao or gyPao or zfPao: boom = boom + 1 # 所有炮是不是都放完了 if lb + gy + zf >= num * 3: print(f"燃放时间为{int(time)},响声为{int(boom)}声") break