代码
def Tax(a):
if a<=0:
a=0
elif a <= 5000:
a = 5000 * 0.00
elif a > 5000 and a <= 15000:#python中是没有&&及||这两个运算符的,取而代之的是英文and和or
a = 5000 * 0.00 + (a - 5000) * 0.10
elif a > 15000 and a <= 35000:
a = 5000 * 0.00 + 10000 * 0.10 + (a - 15000) * 0.15
elif a > 35000:#报错“inconsistent use of tabs and spaces in indentation”缩进改为4/8空格
a = 5000 * 0.00 + 10000 * 0.10 + 20000 * 0.15 + (a - 35000) * 0.20
return a
def Cal():
#输入
print("依次输入:")
print("税前收入(k) 五险一金(月/元)年应发工资月份数 房屋总价(万) 月生活开销(k)年终奖(万)其他收入(月/元)")
PreTax=int(input())
fiveandone=int(input())
months=int(input())
HousePrice=int(input())
livingExpenses=int(input())
bonus=int(input())
otherIncome=int(input())
PreTax=PreTax*1000
HousePrice=HousePrice*10000
livingExpenses=livingExpenses*1000
bonus=bonus*10000
#计算
AfterTax=PreTax-Tax(PreTax-fiveandone)-fiveandone
#unsupported operand type(s) for -: 'str' and 'str'
#int(input()) 函数是从键盘作为字符串读取数据
#input的返回值永远是字符串
#当我们需要返回int型时需要使用int(int(input()))的形式
#我们输入的是字符串类型,需要转换成数字类型
MonthsDispos=int(AfterTax-livingExpenses+otherIncome+bonus/12)
YearDispos=MonthsDispos*12
YearlySalaryPreTax= PreTax*months+bonus
YearlySalaryAfterTax=AfterTax*months+bonus
HouseGet=HousePrice/MonthsDispos
#输出
print("----------------")
print("月数据:")
print("税前收入:",PreTax)
print("税后收入:",AfterTax)
print("税费(含五险一金):",Tax(PreTax)+fiveandone)
print("月可支配收入:",(int)(MonthsDispos-bonus/12-otherIncome),"+",int(bonus/12),"+",otherIncome,"=",MonthsDispos)
print("----------------")
print("年数据:")
print("税前年薪:",YearlySalaryPreTax)
print("税后年薪:",YearlySalaryAfterTax)
print("年可支配收入:",YearDispos)
print("供房时间:",int(HouseGet/12),"年",int(HouseGet%12),"个月")
print("----------------")
Cal()
效果展示
总结:
Python中print函数自动换行,不需要\n
python中是没有&&及||这两个运算符的,取而代之的是英文and和or
int(input()) 函数是从键盘作为字符串读取数据
input的返回值永远是字符串我们输入的是字符串类型,需要转换成数字类型
当我们需要返回int型时需要使用int(int(input()))的形式
原博地址
https://blog.csdn.net/weixin_43673589