英文:
How to use python to calculate salaries?
问题
I have translated the code part for you:
work_hours = str(input('输入工作小时数'))
if (work_hours <= 40):
salary = 20 * work_hours
if (work_hours > 40):
over_salary = 30 * (work_hours - 40)
reg_salary = 20 * 40 + over_salary
print(reg_salary)
Please note that I've only translated the code portion as requested. If you have any specific questions about the code or need further assistance, feel free to ask.
英文:
I'm very, very new to code and my current class is sort of hitting us with all kinds of information at once. It's making a bit difficult to latch onto certain concepts. For this particular problem, our instructor wants us to write a code to calculate employee salaries based on hours worked. Here is the prompt: "A company wants a program that will calculate the weekly paycheck for an employee based on how many hours they worked. For this company, an employee earns $20 an hour for the first 40 hours that they work. The employee earns overtime, $30 an hour, for each hour they work above 40 hours."
He also gave us an example to work with: "If an employee works 60 hours in a week, they would earn $20/hr for the first 40 hours. Then they would earn $30/hr for the 20 hours they worked overtime. Therefore, they earned: ($20/hr * 40hrs) + ($30/hr * 20 hrs) = $800 + $600 = $1400 total."
Like I said, we were given a lot of information at once. I'm trying to use an if statement to make the code, but I know very well it's not written correctly. It's filled with all kinds of syntax errors. I'm just not sure what to do.
work_hours = str(input('Enter hours worked' ))
if (work_hours <= 40)
salary = 20 * work_hours
if (work_hours > 40)
over_salary = 30 * (work_hours - 40)
reg_salary = 20 * 40 + over_salary
print(reg_salary)
答案1
得分: 0
将str
更改为int
,并在if
语句后面加上冒号:
work_hours = int(input('输入工作小时数: '))
if work_hours <= 40:
salary = 20 * work_hours
elif work_hours > 40:
over_salary = 30 * (work_hours - 40)
salary = 20 * 40 + over_salary
print(salary) # 如果输入60,得到1400
我已经将那一行work_hours = str(input('输入工作小时数: '))
更改为work_hours = int(input('输入工作小时数: '))
。通过更改这一行,我确保输入将被解释为数字。我还在您的if
语句后面加上了冒号(:
),这是我找到的唯一一个SyntaxError
。
英文:
Change that str
to int
and put colons after your if
statements
work_hours = int(input('Enter hours worked: ' ))
if work_hours <= 40:
salary = 20 * work_hours
elif work_hours > 40:
over_salary = 30 * (work_hours - 40)
salary = 20 * 40 + over_salary
print(salary) # If I input 60 I get 1400
You can see that I changed the line work_hours = str(input('Enter hours worked: ' ))
to work_hours = int(input('Enter hours worked: ' ))
. By changing that line I made sure that the input would be interpreted as a number. I also put colons (:
) after your if
statements, which was the only SyntaxError
I could find.
答案2
得分: 0
if`的两个分支必须生成相同的变量,以便始终有内容可打印。
工作小时数 = int(input('输入工作小时数: '))
if 工作小时数 <= 40:
工资 = 20 * 工作小时数
else:
超时工资 = 30 * (工作小时数 - 40)
工资 = 20 * 40 + 超时工资
print(工资)
或者,甚至更好的方式是将加班工资视为异常情况:
工作小时数 = int(input('输入工作小时数: '))
工资 = 20 * 工作小时数
if 工作小时数 > 40:
超时工资 = 10 * (工作小时数 - 40)
工资 = 工资 + 超时工资
print(工资)
<details>
<summary>英文:</summary>
Both branches of the `if` must produce the same variable, so you always have something to print.
work_hours = int(input('Enter hours worked: ' ))
if work_hours <= 40:
salary = 20 * work_hours
else:
over_salary = 30 * (work_hours - 40)
salary = 20 * 40 + over_salary
print(salary)
Or, even better, do the overtime as an exception:
work_hours = int(input('Enter hours worked: ' ))
salary = 20 * work_hours
if work_hours > 40:
over_salary = 10 * (work_hours - 40)
salary = salary + over_salary
print(salary)
答案3
得分: -1
work_hours = int(input('输入工作小时:'))
# 这里输入应该是一个整数
if (work_hours <= 40):
# 这里你漏掉了冒号标记
salary = 20 * work_hours
if (work_hours > 40):
# 这里你漏掉了冒号标记
over_salary = 30 * (work_hours - 40)
reg_salary = 20 * 40 + over_salary
print("你的总工资是:", reg_salary, "$")
英文:
work_hours = int(input('Enter hours worked: ' ))
# here the input should be an integer
if (work_hours <= 40):
#here you miss the ': mark
salary = 20 * work_hours
if (work_hours > 40):
#here you miss the ': mark
over_salary = 30 * (work_hours - 40)
reg_salary = 20 * 40 + over_salary
print("your total salary is:",reg_salar,"$")
I have found the some small errors in your code. You missed the ':' marks for if statement and the working hours should be insert as an integer. you entered as string. there are no arithmetic operations for strings.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论