使用python计算超时

使用python计算超时,python,Python,嗨,我是python初学者! 以下是我遇到的问题 问题: 编写一个程序,使用原始输入计算总工资,提示用户输入小时数和每小时费率。支付40小时以下的小时工资,以及40小时以上所有工作小时工资的1.5倍。使用45小时和每小时10.50的费率测试程序(工资应为498.75)。您应该使用raw\u input读取字符串,并使用float()将字符串转换为数字。不要担心检查用户输入时出错-假设用户正确键入数字 我的答案在下面,但不能得到498.75,我也不太确定哪里出错了。 请帮忙:) hrs=原始输入(

嗨,我是python初学者! 以下是我遇到的问题

问题:

编写一个程序,使用原始输入计算总工资,提示用户输入小时数和每小时费率。支付40小时以下的小时工资,以及40小时以上所有工作小时工资的1.5倍。使用45小时和每小时10.50的费率测试程序(工资应为498.75)。您应该使用
raw\u input
读取字符串,并使用
float()
将字符串转换为数字。不要担心检查用户输入时出错-假设用户正确键入数字

我的答案在下面,但不能得到498.75,我也不太确定哪里出错了。 请帮忙:)

hrs=原始输入(“输入小时”)
h=浮动(小时)#为什么使用浮动?
比率=浮动(10.5)
如果h 40:
工资=((h-40)*费率*1.5)+费率*40
打印“您的工资是%d”%pay

您的计算是正确的,只需正确设置输出格式即可<代码>%d用于整数,因此更改为用于浮点数的
%f
将实现以下功能:

print "Your pay is %f" %pay
通过上述更改,您将获得以下输出:

Your pay is 498.750000

您可以从中找到不同格式说明符的完整列表。

您的代码是正确的,但您正在使用
%d
打印变量
pay
的值,该变量将其转换回
int
,小数部分将被忽略


因此,请尝试使用
%s
%f
%2f
打印用户的薪资时,使用
%d
打印实际薪资。要显示浮点数(如498.75),您必须使用
%f
(或者更准确地说,
%.2f
,因为您不能向低于1美分的人付款)

因此,这将是正确的方式,使用498.75:

hrs = raw_input('Enter hours ')
h= float(hrs) #why use float?
rate = float(10.5)

if h <= 40:
    pay = h*rate
elif h > 40:
    pay = ((h-40)*rate*1.5)+rate*40   

print "Your pay is %.2f" %pay
hrs=原始输入(“输入小时”)
h=浮动(小时)#为什么使用浮动?
比率=浮动(10.5)
如果h 40:
工资=((h-40)*费率*1.5)+费率*40
打印“您的工资是%.2f”%pay
您可以找到有关字符串格式的更多信息

另外,关于
h=float(hrs)#为什么使用float?
: 默认情况下,
raw\u input()
返回一个字符串,您必须使用
float()
将该字符串解析为浮点数,并在以后的计算中使用它

希望这会有帮助

hrs = raw_input('Enter hours ')
h= float(hrs) #why use float?
rate = float(10.5)

if h <= 40:
    pay = h*rate
elif h > 40:
    pay = ((h-40)*rate*1.5)+rate*40   

print "Your pay is %.2f" %pay