如何根据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
我有这段代码,写起来很烦人,但可以完成工作,我想知道是否有某种功能或 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