继昨天和大家分享了一些简单基础的Python编程后,今天继续和大家分享一些干货。
1.首先,依然要和大家先说一些有关if判断的表达式。看下面一段代码。
age = 10
name ='小明'
if age < 4 :
print('幼儿')
if age < 12 :
print('儿童')
if age < 18 :
print('青少年')
if age < 25 :
print('青年')
点击右键,找到Run,运行,控制板上会出现儿童,青少年,青年字样。在下面继续编写另一段代码。
if age < 100 :
print('少于100')
else :
print('大于100')
再次点击运行,控制面板上会出现,儿童,青少年,青年,少于100的字样。
2.下面我们编程一个个税计算的代码。
计算方法
扣除标准3500元/月(2011年9月1日起正式执行)(工资、薪金所得适用)
100000
22500
2250 10000
7662 * 0.225 工资100000
7662 * 0.225 工资8000
5000 * 0.225 工资 5000
三险一金 = 工资 * 比例 0.225
7750
扣除三险一金后月收入 = 工资 - 三险一金
7750 - 3500
应纳税所得额=扣除三险一金后月收入-扣除标准
应纳个人所得税税额=全月应纳税所得额×适用税率-速算扣除数
个税 =
养老保险:单位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
sanXian = 0
if salary >= 7662 :
sanXian = 7662 * 0.225
else:
sanXian = salary * 0.225
个人所得额写为suoDeE
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
geShui = suoDeE * shuiLv - kouChuShu
print(geShui)
点击运行,会在下方控制面板上出现请输入你的工资,这里我们输入10000,按下回车键,会出现400.2099999999999,那么这就是我们所需要缴纳的个人所得税了。
3.下面讲解一下有关数字类型的操作教程。
先举一个实例。问,怎么判断你输入的数字是一个偶数?偶数,我们都知道是2的倍数,当我们输入的数是偶数时,这个数除以2是不会有余数的,反之就说明,你的数是一个奇数。编程如下。
num=input('请输入一个数字')
num=int(num)
if num % 2==0:
print('偶数')
else:
print('奇数')
点击运行,随意输入一个数字,比如输入10,按下回车键,会出现偶数字样。
再来讲一个问题,如何去判断一个数字既是3的倍数,也是4的倍数?
num=input('请输入一个数字')
num=int(num)
if num % 12==0:
print('既是3的倍数也是4的倍数')
else:
print('不是3和4的倍数')
if num % 3==0:
if num % 4==0:
print('是3和4的倍数')
else:
print('不是4的倍数')
else:
print('不是3的倍数')
点击运行,输入数字,这里输入36,会显示既是3的倍数也是4的倍数与是3和4的倍数。
怎么去判断一个数字是5的倍数或者是6的倍数?
num=input('请输入一个数字')
num=int(num)
if num % 5==0:
if num %6==0:
print('既是5的倍数又是6的倍数')
else:
print('是5的倍数不是6的倍数')
else:
if num%6==0:
print('只是6的倍数')
else:
print('既不是5也不是6的倍数')
点击运行,输入数字30,点击回车键,会显示既是5的倍数又是6的倍数。
在这里我们需要去讲一下有关于and和or的一些用法,and:只要有一个条件为假,结果就是假的;or:只要有一个条件为真,那么结果就是真的。
从random包中引出随机整数的方法,from random import randint,在0到3中随机获得一个整数,在计算机中,随机数被称为伪随机数。例子如下:
num=randint(0,3)
print(num)
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')
点击运行,输入0到3的数字,当你与计算机随机输出的数字相等时,会显示you win,反之会显示 you lose
4.下面我们举一个在编程中最经典的石头剪子布的,问题,这里我们用0代表石头,1代表剪子,2代表布,让我们编写一个程序与电脑较量一下吧。
user_num=input('输入数字')
user_num=int(user_num)
computer_num=randint(0,2)
print(computer_num)
computer_num=int(computer_num)
if 0<user_num<=2:
if user_num-computer_num==-1 or user_num-computer_num==2:
print('you win')
elif user_num-computer_num==0:
print('平局')
else:
print('you lose')
else:
print('输出的值大于有效范围')
点击运行,输入数字0到2之间,点击回车键,会显示你是赢还是输,还是平局,有兴趣的同学可以和电脑较量一番哦。
for index in range(10):
print('老婆,我错了')
print(index)
点击运行,会出现如下图情况
在这里是循环10次这句话的含义。
再来两个实例,
for index in range(50,100):
print(index)
点击运行,会显示50到100之间的数字
for index in range(50,100,5):
print(index)
点击运行,会显示50,55,60是个公差为5的递增数列,一直到100
求1~100之间的所有奇数之和和5的倍数之和的差。
在这里给两种不同样的编程
sum1=0
sum2=0
for x in range(1,101,2):
sum1=sum1+x
print('x=%s'%x)
print(sum1)
for y in range(5,101,5):
sum2=sum2+y
print('y=%s'%y)
print(sum2)
sum=sum1-sum2
print(sum)
ji_he = 0
bei_he = 0
for index in range(1 , 101):
if index % 2 == 1 :
ji_he = ji_he + index
if index % 5 == 0:
bei_he = bei_he + index
print(ji_he - bei_he)
当运行时,都会在控制面板上显示1450.
最后给大家讲一个比较难点的一个编程,石头剪刀布,三局两胜制,0代表石头,1代表剪刀,2代表布。
from random import randint
user_win = 0
compunter_win = 0
deuce = 0
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('玩家胜')
点击运行,输入数字0或者1或者2,会显示以下情况。
对此感兴趣的同学快来试一下吧,看看你能赢电脑多少局!!!