代码

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()))的形式

>>C++版

>>参考资料:Python的输入和输出

posted on 2020-06-23 11:26  海月CSDN  阅读(106)  评论(0编辑  收藏  举报