我是python的新手,除了def main()之外还有一个关于在代码中使用更多函数的问题:
我的代码可以使用,但我正在尝试将新的def添加到各自的区域。
所以就像一个名为def defPay():)的新def,计算出的小时数(regPay,overtimePay和total)作为3个单独的项目。 &安培; 还添加一个名为def defOutput():)的新def,该函数将从(overtimePay,regPay和totalPay)接收所有三个值并打印下面的消息。
如果有人可以向我解释如何使用除main之外的新功能,那将非常感激。
谢谢,这是我的代码:
def main():
try:
hoursWorked = float(input("How many hours did you work? "))
if hoursWorked > 40:
overtimePay = (hoursWorked - 40) * 15
regPay = 40 *10
totalPay =( overtimePay + regPay)
else:
regPay = hoursWorked * 10
overtimePay = 0
totalPay = (regPay + overtimePay)
print("You earned",'${:,.2f}'.format(regPay),"in regular pay",'${:,.2f}'.format(overtimePay),
"in overtime for a total of",'${:,.2f}'.format(totalPay))
except:
print("Sorry, that wasn't a valid number. Ending program")
main()
答案 0 :(得分:0)
您可以在main函数声明之外声明函数,然后在main函数中使用它们(或在main函数中的其他函数内部)。
所以你可以这样做:
def calcPay(hours):
# Does logic
return [400, 30, 430]
def displayOutput(regPay, overtimePay, totalPay):
# Prints formatted string
def main():
hoursWorked = float(input("How many hours did you work? "))
pay = calcPay(hoursWorked)
displayOutput(pay[0], pay[1], pay[2])
main()
答案 1 :(得分:-2)
看看这些类似的问题:
名为main
的函数没什么特别之处。您可以随意命名函数。
当你“调用”一个函数时,你只是从一个代码块跳到另一个代码块。当函数返回时,它返回到调用它的行。
def something():
print('something')
def other():
print('else')
def a_value():
return 100
something()
other()
x = a_value()
print(x)
# ~~~~~ output
something
else
100
在您的示例中,功能的良好用途是计算员工的工资。
def total_pay(hours_worked, hourly_rate, overtime_after=40):
base_pay = min(overtime_after, hours_worked) * hourly_rate
overtime_pay = max(0, hours_worked - overtime_after) * (hourly_rate * 1.5)
return base_pay + overtime_pay
此功能允许我们定义决定工人工资的三件事。 base_pay
最多将是加班前的小时数。 overtime_pay
将从0到“其他限制”,此处未定义。加班时间为一半(1.5
)。