刚学了循环语句,使用if elif 循环的时候,系统报错说表达式不能包含赋值
x = input("请输入总工资:")x = int(x)
if x < 5000:
print("无需扣税")
elif x < 8000:
x = (x - 5000) * 0.03
print("你应交的税为:",x,sep='')
elif x <= 12000:
x = (x - 5000) * 0.1 - 210
print("你应交的税为:",x,sep='')
elif x <= 25000:
x = (x - 5000) * 0.2 - 1410
print("你应交的税为:",x.sep='')
elif x <= 35000:
x = (x - 5000) * 0.25 - 2660
print("你应交的税为:",x,sep='')
elif x <= 55000:
x = (x - 5000) * 0.3 - 4410
print("你应交的税为:",x,sep='')
elif x <= 80000:
x = (x - 5000) * 0.35 - 7160
print("你应交的税为:",x,sep='')
else:
x = (x - 5000) * 0.45 - 15160
print("你应交的税为:",x,sep='') 在Python中,if-elif-else语句中的条件表达式不能包含赋值操作。在你的代码中,当你尝试在条件语句中使用 x = (x - 5000) * 0.03这样的赋值表达式时,会导致报错。
为了解决这个问题,你可以将赋值和条件判断分开来。你可以先计算税额,然后根据税额的大小进行打印。下面是修改后的代码:
x = input("请输入总工资:")
x = int(x)
tax = 0
if x < 5000:
print("无需扣税")
elif x < 8000:
tax = (x - 5000) * 0.03
elif x <= 12000:
tax = (x - 5000) * 0.1 - 210
elif x <= 25000:
tax = (x - 5000) * 0.2 - 1410
elif x <= 35000:
tax = (x - 5000) * 0.25 - 2660
elif x <= 55000:
tax = (x - 5000) * 0.3 - 4410
elif x <= 80000:
tax = (x - 5000) * 0.35 - 7160
else:
tax = (x - 5000) * 0.45 - 15160
print("你应交的税为:", tax, sep='')
这样,你就可以避免在条件表达式中进行赋值操作,同时正确计算并打印税额。 本帖最后由 一条正弦 于 2023-11-21 21:49 编辑
isdkz 发表于 2023-11-21 21:41
在Python中,if-elif-else语句中的条件表达式不能包含赋值操作。在你的代码中,当你尝试在条件语句中使用 x ...
那为啥有时候可以有时候可以有时候又不行呢?在以后的学习中会有解释吗? isdkz 发表于 2023-11-21 21:41
在Python中,if-elif-else语句中的条件表达式不能包含赋值操作。在你的代码中,当你尝试在条件语句中使用 x ...
这个为啥是可以的,而且能运行
x = input("请输入今年的利润:")
x = int(x)
if x <= 100000:
x = x * 0.1
print("应发放的奖金总数是:",x,sep='')
elif x <= 200000:
x = 100000 * 0.1 + (x - 100000) * 0.075
print("应发放的奖金总数是:",x,sep='')
elif x <= 400000:
x = 100000 * 0.1 + 100000 * 0.075 + (x - 200000) * 0.05
print("应发放的奖金总数是:",x,sep='')
elif x <= 600000:
x = 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + (x - 400000) * 0.03
print("应发放的奖金总数是:",x,sep='')
elif x <= 1000000:
x = 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + 200000 * 0.03 + (x - 600000) * 0.015
print("应发放的奖金总数是:",x,sep='')
else:
x = 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + 200000 * 0.03 + 400000 * 0.015 + (x - 1000000) * 0.01
print("应发放的奖金总数是:",x,sep='')
页:
[1]