如何根据y给x赋值

How can I assign a value to x according to y

我有这段代码,写起来很烦人,但可以完成工作,我想知道是否有某种功能或 class 可以帮助我。

这是我的函数:

func add_health():
    if wave in range(10,20):
        enemy_health = 2
    elif wave in range(20,30):
        enemy_health = 3.5
    elif wave in range(30,40):
        enemy_health = 5
    elif wave in range(40,50):
        enemy_health = 6.5
    elif wave in range(50,59):
        enemy_health = 8
    elif wave in range(60,69):
        enemy_health = 9.5
    else:
        enemy_health = 1

如果您的 wave 变量是整数,这很简单1。如果不是,您应该能够将其转换为 int 以获得相同的效果。将其作为函数的输入使这变得简单(因为您可以强制转换)。

看起来你每 10 波增加 enemy_health 值 1.5(至少到 70,然后恢复到 1)。因此,只需将 wave 除以 10,然后乘以 1.5,并将其添加到偏移量中。您可能需要对基本情况进行一些特殊处理(wave <10 或 >=70)。

如果不考虑那些边缘情况,您的函数将变为

func add_health(current_wave: int):
    # Parentheses probably unnecessary, but useful for clarity
    enemy_health = ((current_wave/10) * 1.5) + 0.5

1 两个整数相除得到一个整数,舍去任何余数。所以 53/10 == 5