以下是实现宝可梦能力值计算的Python代码:

def calculate_stat(level, base_stat, iv, ev, nature):
    """
    计算宝可梦的能力值
    :param level: 等级
    :param base_stat: 种族值/基础点数
    :param iv: 个体值
    :param ev: 努力值
    :param nature: 性格修正
    :return: 能力值
    """
    # 计算能力值
    stat = ((base_stat * 2 + iv + ev // 4) * level // 100 + 5) * nature
    
    return stat


def calculate_hp(level, base_stat, iv, ev):
    """
    计算宝可梦的HP能力值
    :param level: 等级
    :param base_stat: 种族值/基础点数
    :param iv: 个体值
    :param ev: 努力值
    :return: HP能力值
    """
    # 计算HP能力值
    hp = ((base_stat * 2 + iv + ev // 4) * level // 100 + level + 10)
    
    return hp


# 输入宝可梦的等级、HP、ATK、DEF、SATK、SDEF、SPD的种族值/基础点数以及个体值
level = int(input("请输入宝可梦的等级:"))
base_hp = int(input("请输入宝可梦的HP种族值/基础点数:"))
base_atk = int(input("请输入宝可梦的ATK种族值/基础点数:"))
base_def = int(input("请输入宝可梦的DEF种族值/基础点数:"))
base_satk = int(input("请输入宝可梦的SATK种族值/基础点数:"))
base_sdef = int(input("请输入宝可梦的SDEF种族值/基础点数:"))
base_spd = int(input("请输入宝可梦的SPD种族值/基础点数:"))
iv = int(input("请输入宝可梦的个体值:"))
ev = int(input("请输入宝可梦的努力值:"))
nature = float(input("请输入宝可梦的性格修正(1.0为不修正):"))

# 计算能力值
hp = calculate_hp(level, base_hp, iv, ev)
atk = calculate_stat(level, base_atk, iv, ev, nature)
def_ = calculate_stat(level, base_def, iv, ev, nature)
satk = calculate_stat(level, base_satk, iv, ev, nature)
sdef = calculate_stat(level, base_sdef, iv, ev, nature)
spd = calculate_stat(level, base_spd, iv, ev, nature)

# 输出结果
print("宝可梦的能力值为:")
print("HP:", hp)
print("ATK:", atk)
print("DEF:", def_)
print("SATK:", satk)
print("SDEF:", sdef)
print("SPD:", spd)

使用示例:

请输入宝可梦的等级:50
请输入宝可梦的HP种族值/基础点数:50
请输入宝可梦的ATK种族值/基础点数:65
请输入宝可梦的DEF种族值/基础点数:45
请输入宝可梦的SATK种族值/基础点数:135
请输入宝可梦的SDEF种族值/基础点数:85
请输入宝可梦的SPD种族值/基础点数:120
请输入宝可梦的个体值:31
请输入宝可梦的努力值:252
请输入宝可梦的性格修正(1.0为不修正):0.9
宝可梦的能力值为:
HP: 155
ATK: 108
DEF: 71
SATK: 204
SDEF: 121
SPD: 175

原文地址: https://www.cveoy.top/t/topic/qB7 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录