首页 > 解决方案 > python 3中有没有一种方法可以使两个用户定义的函数只需要输入一次

问题描述

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

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)

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

标签: pythonpython-3.xvariablesuser-defined-functions

解决方案


由于您调用了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()

推荐阅读