您好我是编程的新手,刚开始学习python我编写了下面的代码/程序,使用raw_input计算总薪水,以提高小时和每小时的费率。我试图为40小时以上工作时间的小时费率开始一次半。在名为computepay()的函数中计算time-and-a-half的逻辑,并使用该函数进行计算。该函数应返回一个值。我用45小时和每小时10.50的速度来测试程序(工资应该返回498.75)。我尝试使用raw_input读取字符串,并使用float()将字符串转换为数字。我不要命名我的变量sum或使用sum()函数。我能够打印输出,但我需要在提示时输入数据,而不是输入" line16"
中的值def computePay (hours,rate):
if hours > 40:
overtimerate = 1.5 * rate
overtime = (hours-40) * overtimerate
overtimepay = overtime + (40 * rate)
return overtimepay;
else:
normalpay = hours * rate
return normalpay;
hours = raw_input('Enter hours: ')
hrs = int(hours)
rate = raw_input('Enter rate: ')
r = float(rate)
p = computePay(45,10.50)
print p
答案 0 :(得分:1)
<强>假设强>:
我必须在理解你的问题时做出以下假设:
<强>问题强>:
在以下行中,您使用的是常量hrs和r值,而不是使用用户输入的值
make()
<强>解决方案强>:
如果您想使用用户输入的值来计算薪水,您需要按如下方式调用该函数:
p = computePay(45,10.50)
使用此行,您实际上是使用存储在变量hrs和r中的值来询问python到computePay。
最终代码:
因此,您的最终代码应该是这样的:
p = computePay(hrs, r)
示例输出:
def computePay (hours,rate):
if hours > 40:
overtimerate = 1.5 * rate
overtime = (hours-40) * overtimerate
overtimepay = overtime + (40 * rate)
return overtimepay;
else:
normalpay = hours * rate
return normalpay;
hours = raw_input('Enter hours: ')
hrs = int(hours)
rate = raw_input('Enter rate: ')
r = float(rate)
p = computePay(hrs,r)
print p
答案 1 :(得分:0)
如果您的意思是希望参数等于输入而不是手动输入的参数,则应该改为:
p = computePay(hrs, r)
示例输出:
Enter hours: 45
Enter rate: 10.5
498.75