python 3中是不是有一种方法可以使两个用户定义的函数只需要输入一次

Posted

技术标签:

【中文标题】python 3中是不是有一种方法可以使两个用户定义的函数只需要输入一次【英文标题】:Is there a way in python 3 to make it so that two user defined functions only require input oncepython 3中是否有一种方法可以使两个用户定义的函数只需要输入一次 【发布时间】:2020-04-29 04:35:41 【问题描述】:

假设我在 Python 3 中有两个用户定义函数 monthly_salary()report()

def monthly_salary():
    monthly_salary = int(input('Enter Monthly Salary'))
    return monthly_salary

def report():
    yearly_salary = monthly_salary() * 12

    message = '%s %4d %s %6d' % ('John gets paid monthly salary of', monthly_salary(), '& yearly salary of', yearly_salary)

    print(message)

如果我运行上面的代码,它会询问用户每月用户两次。有没有办法让它只向用户询问一次月薪?

【问题讨论】:

提示:你是如何已经做到的,​​这样当你格式化message时,你就不必再次计算monthly_salary() * 12了?做同样的事情,这样您就不必重复 monthly_salary() 计算。 不需要时不要调用该函数两次 【参考方案1】:

您的代码要求输入两次,因为您调用了monthly_salary() 两次。 更改您的代码以存储在一个变量中,并将其用于进一步计算。

def monthly_salary(): 
    return int(input('Enter Monthly Salary: '))

def report():
    m_salary = monthly_salary()

    message = '%s %4d %s %6d' % ('John gets paid monthly salary of', m_salary, '& yearly salary of', m_salary * 12)

    print(message)

report()

【讨论】:

【参考方案2】:

您可以将月薪存储在一个变量中并使用该变量。

【讨论】:

以上是关于python 3中是不是有一种方法可以使两个用户定义的函数只需要输入一次的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server 中是不是有一种方法可以显示两个具有相同布局并共享一些公共数据的表之间的字段差异

当用户单击 Fx 按钮时,是不是有一种方法可以使 UDF 提供类似于本机 Excel 函数的描述?

在连接共享某些列名的两个表时,是不是有一种动态方法可以为一个表的所有列名添加前缀?

在 Python 中,是不是有一种方便的方法来重载 C++ 中的方法? [复制]

在 Pandas 中是不是有一种 pythonic 的方法来做一个列联表?

当您使用 Python 的 Paramiko 库进行 SSH 并从远程机器的 CLI 获取输出时,是不是有一种简单的方法可以消除垃圾值?