if条件判断表达式
输入代码
age = 10
name ='小明'
if age < 4 :
print('幼儿')
age = 10
name ='小明'
if age < 4 :
print('幼儿')
if age < 12 :
print('儿童')
if age < 18 :
print('青少年')
if age < 25 :
print('青年')
运行程序可以得到以下结果:
由于上述代码均是同级代码,且输入信息为age=10,该条件符合age<12,age<18,age<25,所以
会得到儿童、青少年、青年的输出信息。
同理,输入以下代码也会得到相应信息
if age < 100 :
print('少于100')
else :
print('大于100')
if age < 10 :
print('age')
if name == '小明':
print('小明')
变量
变量又分为局部变量与全局变量。局部变量只影响部分代码,在部分代码中生效。全局变量在全部代码中都会生效。
习题:利用已学内容计算应纳个人所得税
计算方法扣除标准3500元/月(2011年9月1日起正式执行)(工资、薪金所得适用)
三险一金 = 工资 * 比例
扣除三险一金后月收入 = 工资 - 三险一金
应纳税所得额=扣除三险一金后月收入-扣除标准
应纳个人所得税税额=全月应纳税所得额×适用税率-速算扣除数
个税 = 养老保险:单位20%,个人8%
医疗保险:单位8%,个人2%
失业保险:单位1%,个人0.5%
生育保险:单位0.6%,个人不用缴费
工伤保险:单位1%,个人不用缴
住房公积金:单位5%-12%,个人5%-12%,按12%算、 总计需缴纳个人所得税为22.5%
五险一金缴纳 的基准工资上限为7662 ;超过,就按照7662缴纳;
![](https://i-blog.csdnimg.cn/blog_migrate/70486631029383a9f142634aef5f50d9.png)
salary = input('请输入你的工资')
# 将输入的内容转化成数字
salary = int(salary)
sanXian = 0
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
geShui = suoDeE * shuiLv - kouChuShu
print(geShui)
运行结果如下图:
数字类型操作
类型:是编程语言中对数据的一种划分,如果学过其它语言,也有不同类型的数据; 我们介绍6种Python语言中的类型:1)数字类型
2)字条串类型
3)元组类型
4)列表类型
5)文件类型
6)字典类型
习题:
问题1:怎么判断输入数字为偶数还是偶数?
输入代码如下:
num= input('请输入一个整数')
num=int(num)
if num %2==0:
print('偶数')
else:
print('奇数')
问题2:怎么判断一个数字既是3的倍数,也是4的倍数。
输入代码如下:
if num%3 == 0:
if num%4 == 0:
print('是3和4的倍数')
else:
print('不是4的倍数')
else:
print('不是3的倍数')
if num%3 == 0 and num% 4 == 0:
print('是3和4的倍数')
问题3:怎么判断输入数字是5的倍数或者是6的倍数。
输入代码如下:
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倍数')
if num % 5 == 0 or num % 6 ==0:
print('5或者是6的倍数')
总结:and和or用于多个条件需要判断的情况下,以两个条件举例
and:只要有一个条件为假,最终结果就为假
条件1 真 条件2 真 结果:真
条件1 假 条件2 真 结果:假
条件1 假 条件2 假 结果:假
or:只要有一个条件为真,最终结果就为真
条件1 真 条件2 真 结果:真
条件1 真 条件2 假 结果:真
条件1 假 条件2 假 结果:假
from random import randint 从random包中引出随机整数的方法
下面做一个小程序进行运用
代码如下:
number = randint(0,3)
print(number)
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')
运行结果如下:
制作小程序:石头剪刀布
输入代码:
user_num = input('请输入一个数字')
# 0 石头 1 剪子 2 布 or或者 and 并且
# 0 1 -1
# 1 2 -1
# 2 0 2
computer_num = randint(0 , 2)
print(computer_num)
if user_num.isdigit():
user_num = int(user_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('deuce')
else :
print('you lose')
else :
print('输入的数值大于有效范围')
else :
print('输入的内容格式错误,请输入0~2之间的一个数值')
程序运行结果如下:
for循环
# for(int index = 0 ; index < 10 ;index ++)
# {
# 循环;迭代
# }
# for in结构 index索引 range 范围
# range后面一个值
# 表示代码循环的次数
for index in range(10):
print('老婆,我错了')
print(index)
运行结果:
# 值1:循环开始的位置
# 值2:循环结束的位置
for index in range(50 ,100):
print(index)
运行结果如下:
# 值1:循环开始的位置
# 值2:循环结束的位置
# 值3:增量
for index in range(50 ,100 ,5):
print(index)
运行结果如下:
习题:获取1~100之间所有数字的和
sum = 0
for x in range(1,101):
sum = sum + x
print('x=%s'% x)
print(sum)
习题2:获取1~100之间所有奇数之和与5的倍数之和的差
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)
习题3:石头剪刀布 小程序 三局两胜制
from random import randint
user_win = 0
compunter_win = 0
deuce = 0
# index 代表标号 value代表值
# for index ,value in enumerate('Hello wolrd'):
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('玩家胜')