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