首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在新函数中调用前一个函数

在新函数中调用前一个函数
EN

Stack Overflow用户
提问于 2020-06-27 18:47:44
回答 2查看 433关注 0票数 0

我正在通过CS1301xII完成edX课程,我被要求使用一个函数来计算Pokemon的伤害,我需要调用另一个函数来计算修饰符。

有9个参数:刺,类型,临界,其他,随机,等级,攻击,防御和基地。

我的第一个函数计算损伤计算中使用的修饰符。这是(STAB * Type *危急*其他*随机)以供参考。

代码语言:javascript
复制
def calculate_modifier(s, t, c, o, r):
   mod = s * t * c * o * r

我的第二个功能是计算总体损失。这是((2*级+ 10) / 250) *(攻击/防御)*基地+ 2)供参考。

代码语言:javascript
复制
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

EN

回答 2

Stack Overflow用户

发布于 2020-07-22 10:10:46

我也在这门课上,但我做了这个问题。这就是你应该做的:

代码语言:javascript
复制
dam = (((2 * l + 10) / 250) * (a / d) * b + 2) * calculate_modifier(STAB * Type * Critical * Other * Random)

如果你试图在大坝函数中计算它,自动平地机就会取消你的资格。

票数 0
EN

Stack Overflow用户

发布于 2020-07-22 15:05:01

只要从第一个函数返回mod值并将其传递给第二个函数,就不必将9个参数传递给第二个函数。

代码语言:javascript
复制
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)

或者,您可以从这两个函数返回,并将它们传递给第三个函数来计算最终值。

代码语言:javascript
复制
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)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62614200

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档