博客
关于我
Py3 字符串水题
阅读量:367 次
发布时间:2019-03-04

本文共 841 字,大约阅读时间需要 2 分钟。

要计算由多个部分组成的武器伤害的期望值,每个部分可以是固定伤害或掷骰子的和。以下是解决方案:

  • 输入处理:读取输入字符串,拆分成各部分。
  • 每部分处理:检查是否包含“d”,如果是,计算掷骰子的期望值;否则,加上固定伤害。
  • 期望值计算:将所有部分的期望值累加。
  • 输出结果:根据总和是否为整数,输出整数或保留一位小数。
  • 以下是完整的Python代码:

    while True:    try:        s = input().split('+')        ans = 0.0        for part in s:            if 'd' in part:                n, x = part.split('d')                ans += (int(n) * (int(x) + 1)) / 2            else:                ans += int(part)        if ans.is_integer():            print(int(ans))        else:            print("{0:.1f}".format(ans))    except:        break

    步骤解释

  • 读取输入:使用input().split('+')将字符串拆分成各个部分。
  • 遍历每个部分:检查是否包含“d”来判断是否为骰子部分。
  • 计算期望值:对于骰子部分,使用公式(n*(x+1))/2计算期望值;固定伤害直接加到总和中。
  • 输出结果:检查总和是否为整数,如果是,输出整数;否则,保留一位小数并输出。
  • 示例:对于输入“2d6+1d70+3”,计算步骤如下:

    • 2d6:期望值为 (2*(6+1))/2 = 7
    • 1d70:期望值为 (1*(70+1))/2 = 35.5
    • 固定伤害3:加3
    • 总期望值:7 + 35.5 + 3 = 45.5

    输出结果为45.5。

    转载地址:http://pryg.baihongyu.com/

    你可能感兴趣的文章
    nvmw安装node-v4.0.0之后版本的临时解决办法
    查看>>
    nvm切换node版本
    查看>>
    nvm安装 出现 Error retrieving “http://xxxx/SHASUMS256.txt“: HTTP Status 404 解决方法
    查看>>
    nvm安装以后,node -v npm 等命令提示不是内部或外部命令 node多版本控制管理 node多版本随意切换
    查看>>
    ny540 奇怪的排序 简单题
    查看>>
    NYOJ 1066 CO-PRIME(数论)
    查看>>
    NYOJ 737:石子合并(一)(区间dp)
    查看>>
    nyoj 91 阶乘之和(贪心)
    查看>>
    nyoj------203三国志
    查看>>
    NYOJ-525 一道水题
    查看>>
    nyoj58 最少步数
    查看>>
    N皇后问题
    查看>>
    N皇后问题
    查看>>
    OAuth 2.0 MAC Tokens
    查看>>
    OAuth 及 移动端鉴权调研
    查看>>
    OAuth2 + Gateway统一认证一步步实现(公司项目能直接使用),密码模式&授权码模式
    查看>>
    OAuth2 Provider 项目常见问题解决方案
    查看>>
    OAuth2 vs JWT,到底怎么选?
    查看>>
    Vue.js 学习总结(14)—— Vue3 为什么推荐使用 ref 而不是 reactive
    查看>>
    oauth2-shiro 添加 redis 实现版本
    查看>>