python的放鞭炮问题

过年了,刘备、关羽、张飞一起放鞭炮,每一个人一支香,每人初始都为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

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值