day 3
一、定义变量和给变量赋值的原理
python定义变量的时候,需要在申请内存,内存申请多大看数据需要多大,然后将数据保存到内存中再和变量进行关联。
重新给变量赋值的时候,会重新申请内存,新的内存的大小由新的。
a=10
print(id(a))
a=100
print(id(a))
二、数学运算符
数学运算符: + - * / % // **
1. + - * /
print(2 + 5)
print(2 - 5)
print(2 * 5)
print(2 / 5)
注:+ - * 如果运算对象中有浮点数,结果就是浮点数;如果都是整数,结果就是整数
print(2.0 + 5)
注:除法运算的结果一定是浮点数
print(5 / 2)
print(4 / 2)
2. %(取余/取模)
x%y --用x除以y的余数:
print(10 % 3)
print(15 % 6)
-
应用一:判断一个数是否能被另外一个数整除,就看两个数的余数是否为0
-
应用二:取整数的低位数:对10或者10的幂次方取余
num=126 #获取num的各位数 print(num%10) print(42423%10) print(2414%10) print(4324%100) print(4324%1000) print(32432//100%10) print(32435//1000%10)
3.//整除 --求商,商向下(小)取整
x//y
print(5/2)
print(5//2)
print(3.8//2)
print(-5//2)
-
应用:去掉低位数
print(42442//10) print(42442//100)方法一:先整除再取余
num=230768 print(num%10) print(num//10%10) print(num//100%10) print(num//1000%10) print(num//10000%10) print(num//100000%10)方法二:先取余再整除
print(num%100) print(num%100//10) print(num%1000//100)
4. **(幂运算)
x ** y --> 求x的y次方
print(3 ** 5)
print(16 ** 0.5)
print(8 ** (1/3))
print(2 ** (-3))
三、比较运算符
比较运算符: > < >= <= == !=
1.python中比较运算符所有的结果都是布尔值
print(10 > 20)
print(10 == 20)
print(5 >= 5)
2.python 可以直接通过比较运算符来表示范围
x = 8
print(0 <= x <= 10)
print(x >= 0 and x <= 10)
四、逻辑运算符
逻辑运算符: and(逻辑与运算) or(逻辑或运算) not(逻辑非运算)
1.and
- 应用场景:用于需要多个条件同时成立的时候,相当于生活中的并且
- 运算规则: 条件1 and 条件2 – 两个条件都是True,结果才是Ture;只有一个是False结果就是False
练习:判断num是否能同时被3和5整除
原始条件:能同时被3和5整除
条件1:能被3整除 num % 3 ==0
条件2:能被5整除 num % 5 ==0num = 15 print(num % 3 == 0 and num % 5 == 0)
练习:写出是否可以获取奖学金的条件 --绩点不低于3.5并且操评分高于90分
gpa = 4.0 score = 89 print('gpa = 4.0;score=89 是否可以获取奖学金:', gpa >= 3.5 and score > 90)
2.or(逻辑或运算)
- 应用场景:用于需要多个条件只要有一个吗安祖就可以的情况,相当于生活中的或者
- 运算规则:条件1 or 条件2 - 两个条件只要有一个是True结果就是True,两个都是flase结果才是flase
判断v保存的数据是否是数字数据
数字数据 分为整数和浮点数v = 89 print(type(v) == int or type(v) == float)
练习:中奖规则:十位数是0的基数号,或者是个位数+十位数是2的号
num = 111 print((num // 10 % 10 == 0 and num % 2 != 0) or ((num % 10) + (num // 10 % 10) == 2))
3.not(逻辑非运算符)
-
应用场景:(对一个条件进行否定)当一个条件正向写的时候很复杂,反向写很简单的时候,条件就反向写再加not
-
运算规则:not 条件
age = 20 print('大于等于18:', age >= 18) print('大于等于18:', not age >= 18) print('大于等于18:', age <= 18)
练习:写出num不能同时被3和7整除的条件
正向写:
情况1:能被3整除不能被7整除
情况2:能被7整除不能被3整除
情况3:既不能被3整除也不能被7整除反向写:
not 能同时被3和7整除
五、赋值运算符
赋值运算符 = += -+ *= /= %= //= **=
-
所有赋值运算符的功能都是将数据直接或者间接存储到一个变量中,不会产生任何结果
语法:变量 赋值运算符 数据
重要的结论:赋值运算表达式没有结果的 -
复合的赋值运算符:+= -+ *= /= %= //= **=
语法:变量 += 数据先把变量中的数据提出来与后面的数据进行运算得到一个结果,再把最新的结果存储到变量中
注意:前面的变量必须是已经赋值或定义初始值的变量
-
运算符的优先级
数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符(最低)
数学运算符中: ** > *、%、/ 、 // > + -
有括号先算括号里面的 ()
六、分支结构
1.流程控制 -程序执行方法
1)顺序结构(默认) - 代码从上往下执行,每条语句执行一次
2)分支结构 - 根据条件选择执行或者不执行相关操作
3)循环结构(for 、while) - 让代码重复执行
2.if 语句
1)if单分支结构-- 满足一个条件就执行某个操作,不满足就不执行
- 语法:
if 条件语句:
代码段 - 说明:
if —关键字;固定写法
条件语句 -任何有结果的表达式,例如:具体数据、保存数据的变量、运算表达式(赋值不可以)等。
: — 固定写法
代码段 ----从结构上就是和if保持一个缩进的一条或者多条语句;代码段就是满足条件的时候才执行的代码 - 执行过程:先判断条件语句是否True,如果成立就执行代码段,然后再执行后面其它代码;如果为Flase,不执行代码段,直接执行其它代码
注意:如果条件语句的结果不是布尔值,就转换成布尔再看。(其它数据转换成布尔是,除了零值和空值,都是True)
练习1:如果num是偶数就打印偶数
num = 3213 方法1: if num % 2 == 0: print(num, '是偶数') 方法2: if num % 2: print('偶数') else: print('奇数')
练习2:根据年龄值打印’成年’
age = 23 if age >= 18: print('成年')
练习3:判断指定的年是否是闰年
year = 2004 if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0: print(year, '是闰年')
2)if 双分支结构 - 满足条件执行某个操作,不满足时候执行另外一个操作
- 语法:
if 条件语句:
代码段1(满足条件执行的代码)
else:
代码段2(不满足条件执行的代码)
判断输入的年份是否是闰年:
year = int(input('请输入年份:')) if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0: print(year, '是闰年') else: print('不是闰年')
3)if 多分支结构 - 根据不同的条件做不一样的事情
-
语法:
if 条件1:
代码段1
elif 条件2:
代码段2
elif 条件3:
代码段3
.
.
.
else:
代码段N注意:后面的条件是在前面的条件不成立的情况下执行,所有条件都不成立时才执行else中的代码
根据成绩判断优秀程度:
score = int(input('请输入分数:')) if score >= 90: print('A') elif score >= 80 and score < 90: print('B') elif score >= 70 and score < 80: print('C') elif score >= 60 and score < 70: print('D') else: print('成绩不及格')
练习: 根据年龄值打印 ‘儿童’、‘少年’、‘青年’、‘壮年’、‘中年’、‘老年’
儿童 - 12岁以下
少年 - 12 ~ 18
青年 - 18 ~ 28
壮年 - 28 ~ 40
中年 - 40 ~ 60
老年 - 60以上age = int(input('请输入年龄:')) if age <= 12: print('儿童') elif age <= 18: print('少年') elif age <= 28: print('青年') elif age <= 40: print('壮年') elif age <= 60: print('中年') else: print('老年')
7268

被折叠的 条评论
为什么被折叠?



