我正在为每个人编程。 Python作业3.1
编写一个程序,使用输入内容来计算总工资,以提示用户每小时的小时数和费率。支付最多40小时的小时费率,以及所有40小时以上工作小时的小时费率的1.5倍。以45小时和每小时10.50的速度测试程序(工资应为498.75)。
您应该使用输入读取字符串,并使用float()将字符串转换为数字。不必担心错误检查用户输入-假设用户正确键入数字。
h = float(input("Enter Hours:"))
basic_rate = 10.50
if h <=40:
pay = h * basic_rate
elif h > 40:
pay = 40* basic_rate + (h-40)*1.5*basic_rate
else:
print ('wrong parameter')
print (pay)
它引发错误-您必须使用input()读取数据,然后将其转换。
答案 0 :(得分:1)
问题似乎是您直接在变量中使用10.50,而不要求用户输入。 您可以尝试
hrs = int(input('Hours: '))
rate = float(input('Rate/Hour: '))
if hrs <= 40:
pay = hrs * rate
if hrs > 40:
a = hrs - 40
b = rate * 1.5
c = a * b
pay = float(40 * rate + c)
print(pay)
答案 1 :(得分:0)
出现此错误的原因是您需要在输入字段中花几个小时和时间。
示例:
hrs= input('enter hours:')
h = float(hrs)
rate = input('enter rate:')
r = float(rate)
答案 2 :(得分:0)
在我的情况下,错误是该语句不能有多余的空间,我尝试了多种不同的方法来实现相同的过程,但仅仅是Print("Pay:", pay)
而不是Print("Pay: ", pay)
。
答案 3 :(得分:0)
sed "s/ //g" flag29 | tr -d "\n" | tr "," "\n" | sed 's/.*\(.\)$/\1/'
答案 4 :(得分:-1)
因为很少有评论已经表明问题出在代码本身之内,而不是不(可以很好地工作),而是验证代码可读性的系统。从“ 验证程序”引发的错误中,您可以假设它期望您将 input 函数返回的值保存到变量中,然后将其转换为像这样漂浮:
raw_input_hours = input("Enter Hours:")
hours = float(raw_input_hours)
...
程序的其余部分将完全正常运行。 @ncica在注释中仅给出一小条注释-您的 else 块将永远不会执行,因为您的代码已经解决了 if 中所有 h 的可能性/ em>和 elif 块。 因此,您最好将其修复为:
if h <= 40:
pay = h * basic_rate
else:
pay = 40* basic_rate + (h-40)*1.5*basic_rate
(我从来没有为每个人进行编程,所以我不确定分配的最终结果,但是假设您了解在修正了验证程序错误后应该继续的工作。 >朝你扔,你都准备好了:)) 祝你好运,编码愉快。
顺便说一句,找到了针对该特定任务here的解决方案。
答案 5 :(得分:-2)
小时=输入(“输入小时数:”)
h =浮点数(小时)
rate = input(“输入速率:”) r =浮动(汇率)
如果h <= 40:
pay = r * h
elif h> 40: 薪水=((h-40)* 1.5 * r)+ 40 * r
打印(付款)