上次我们讲了一些Python的基础语法,今天我们来举几个例子实际操作一下。
一.个税计算
扣除标准3500元/月(2011年9月1日起正式执行)(工资、薪金所得适用)
扣除三险一金后月收入 = 工资 - 三险一金
应纳税所得额=扣除三险一金后月收入-扣除标准
个税 =
养老保险:单位20%,个人8%
医疗保险:单位8%,个人2%
失业保险:单位1%,个人0.5%
生育保险:单位0.6%,个人不用缴费
工伤保险:单位1%,个人不用缴
住房公积金:单位5%-12%,个人5%-12%,按12%算、
三险一金缴纳 的基准工资上限为7662 ;超过,就按照7662缴纳;
2011年9月1日起调整后的7级超额累进税率
全月应纳税所得额 | 税率 | 速算扣除数(元) | |||
全月应纳税所得额不超过1500元 | 3% | 0 | |||
全月应纳税所得额超过1500元至4500元 | 10% | 105 | |||
全月应纳税所得额超过4500元至9000元 | 20% | 555 | |||
全月应纳税所得额超过9000元至35000元 | 25% | 1005 | |||
全月应纳税所得额超过35000元至55000元 | 30% | 2755 | |||
全月应纳税所得额超过55000元至80000元 | 35% | 5505 | |||
全月应纳税所得额超过80000元 | 45% | 13505 |
salary = input('请输入你的工资')
#类型转换
salary = int(salary)
sanXian = 0
#三险一金缴纳 的基准工资上限为7662 ;超过,就按照7662缴纳;
if salary >= 7662:
sanXian = 7662 * 0.225
else:
sanXian = salary * 0.225
#应纳税所得额
suoDeE = salary - sanXian - 3500
shuiLv = 0
kouChuShu = 0
if suoDeE <= 0:
print('loser')
else:
if suoDeE <= 1500:
shuiLv = 0.03
elif suoDeE <= 4500:
shuiLv = 0.1
kouChuShu = 105
elif suoDeE <= 9000:
shuiLv = 0.2
kouChuShu = 555
elif suoDeE <= 35000:
shuiLv = 0.25
kouChuShu = 1005
elif suoDeE <= 55000:
shuiLv = 0.3
kouChuShu = 2755
elif suoDeE <= 80000:
shuiLv = 0.35
kouChuShu =5505
else:
shuiLv = 0.45
kouChuShu = 13505
shuiE = suoDeE * shuiLv - kouChuShu
print('应纳个人所得税为%s' %shuiE)
问题1:怎么判断输入的数字 为偶数
num = input('请输入一个整数')
num = int(num)
if num % 2 == 0 :
print('偶数')
else :
print('奇数')
问题2:怎么判断一个数字既是3的倍数也是4的倍数
if num % 3 == 0 and num % 4 ==0 :
print('是3和4的倍数')
问题3 :怎么判断一个数字是5的倍数或者是6的倍数
if num % 5 == 0 or num % 6 ==0 :
print('5或者6的倍数')
在问题2和3中,我们用到了and,or。他俩用于多个条件需要判断的情况下。
and:只要有一个条件为假,最终结果就为假
or :只要有一个条件为真,最终结果就为真
---------------------------------------------------------------------------------------------------------------------------------
编程语言中有很多供我们调用的包,可以我们能够更快的进行编程,下面举个猜数字例子进行简单的介绍
# 从random包中引出随机整数的方法
from random import randint
# 在0和3之间随机获得一个整数
computer_num = randint(0,3)
完整代码如下:
from random import randint
user_num = input('请输入你要猜的数字')
user_num = int(user_num)
computer_num = randint(0,3)
print(computer_num)
if(user_num == computer_num):
print('you win')
else :
print('you lose')
三.for循环
上面对if条件判断表达式进行了举例操作,接下来我们加点新的知识。
循环;迭代
for in 结构
index 索引
range 范围
range后面只有一个值,表示代码循环的次数
for index in range(10):
print('hello python')
print(index)
值1:循环开始的位置
值2:循环结束的位置
for index in range(50 ,100):
print(index)
值1:循环开始的位置
值2:循环结束的位置
值3:增量
for index in range(50 ,100 ,5):
print(index)
eg : 获取1~100之间所有数字的和
sum = 0
for i in range(1,101):
sum = sum + i
print('i=%s'% i)
print(sum)
eg : 石头剪子布 小程序 三局两胜制
from random import randint
user_win = 0
compunter_win = 0
deuce = 0
# index 代表标号 value代表值
for index ,value in enumerate(range(3)):
user_num = input('请输入数字')
user_num = int(user_num)
computer_num = randint(0 , 2)
if user_num -computer_num == -1 or user_num -computer_num == 2:
print('第{}局玩家胜'.format(index + 1))
user_win += 1
elif user_num - computer_num == 0:
print('第{}局平局'.format(index + 1))
deuce += 1
else :
print('第{}局电脑胜'.format(index + 1))
compunter_win += 1
print('-------------第{}局结束--------------'.format(index + 1))
if compunter_win == 2 :
print('电脑胜')
break
elif user_win == 2:
print('玩家胜')
break
else:
# 平1局 一胜一负 平两局 赢一局 平三局
if deuce == 1 and compunter_win - user_win == 0 and index == 2:
print('平局')
elif deuce == 3 :
print('平局')
elif deuce == 2 and index == 2:
if compunter_win -user_win == 1:
print('电脑胜')
else:
print('玩家胜')