我正在通过CS1301xII完成edX课程,我被要求使用一个函数来计算Pokemon的伤害,我需要调用另一个函数来计算修饰符。
有9个参数:刺,类型,临界,其他,随机,等级,攻击,防御和基地。
我的第一个函数计算损伤计算中使用的修饰符。这是(STAB * Type *危急*其他*随机)以供参考。
def calculate_modifier(s, t, c, o, r):
mod = s * t * c * o * r我的第二个功能是计算总体损失。这是((2*级+ 10) / 250) *(攻击/防御)*基地+ 2)供参考。
def calculate_damage(l, a, d, b):
dam = (((2 * l + 10) / 250) * (a / d) * b + 2)如何在我的calculate_modifier函数中调用calculate_damage函数?我列出了所有的9个参数吗?真的很纠结于这应该是什么样子。
最终的calculate_damage公式应该是dam * mod
发布于 2020-07-22 10:10:46
我也在这门课上,但我做了这个问题。这就是你应该做的:
dam = (((2 * l + 10) / 250) * (a / d) * b + 2) * calculate_modifier(STAB * Type * Critical * Other * Random)如果你试图在大坝函数中计算它,自动平地机就会取消你的资格。
发布于 2020-07-22 15:05:01
只要从第一个函数返回mod值并将其传递给第二个函数,就不必将9个参数传递给第二个函数。
def calculate_modifier(s, t, c, o, r):
mod = s * t * c * o * r
return mod
def calculate_damage(l, a, d, b, mod):
dam = (((2 * l + 10) / 250) * (a / d) * b + 2) * mod
return dam
mod = calculate_modifier(s, t, c, o, r)
dam = calculate_damage(l, a, d, b, mod)或者,您可以从这两个函数返回,并将它们传递给第三个函数来计算最终值。
def calculate_modifier(s, t, c, o, r):
mod = s * t * c * o * r
return mod
def calculate_damage(l, a, d, b, mod):
dam = (((2 * l + 10) / 250) * (a / d) * b + 2)
return dam
def calculate_total_damage(mod, dam):
return dam * mod
mod = calculate_modifier(s, t, c, o, r)
dam = calculate_damage(l, a, d, b)
final = calculate_total_damage(mod, dam)https://stackoverflow.com/questions/62614200
复制相似问题