python2103dengqingqing_ 0426回顾
-
python是动态的解释性语言
-
基础语法
-
注释
- 单行注释 注释可以放在代码的前行面 后行面 已经后同行
- 多行注释
-
标识符
-
关键字 特殊的标识符 :True False None
-
语句 :一般一条语句一行,结尾不需要加分号,同行多条语句之间需要用分号或逗号隔开
-
常用数据和对应的类型
- 数字数据 int float
- 文本数据 str
- 布尔数据
- 空值
- type()
- 输入和输出
-
input()
-
print()
- 变量
-
变量名=值
- 变量名是标识符不能是关键字 见名知意义
- 名称用小写单词之间用下划线隔开
- 使用变量就是使用变量中保存的值
- 重新给变量赋值
-
python c java 变量和重新赋值原理?
python2103dengqingqing_ 0427总结
运算符
- python中常用的运算符: 数学运算符 比较运算符 逻辑运算符赋值运算符
1、数学运算符
- 数学运算符 + - * / % // **
- 运算符 + - * / 和数学的+ - * / 运算一样
- 3.1 -> 3.0009 ,3.10001 是计算机浮点数的原因
-
% ——求余数
-
x % y —— 求X除以Y的余数
-
应用1,判断一个数字能否被另一个数字整除(取余)
-
应用2,取一个数的低位数,
取一个数的个位数除10 后两位除100 后三位数除1000
-
-
// -——整除(求商,商向小取正)
- 应用1 保留高位数去掉低位数
-
** ——幂运算
- 先幂再乘除后加减
2、比较运算
-
比较运算符 = != > >= < <=
-
所有的比较运算符的运算结果都是布尔
-
python中的比较运算符支持表示范围的连写方式(其他不支持
x = 0.1 print(0 <= x <= 1)
3、逻辑运算符
- 逻辑运算符:and(逻辑与运算) or(逻辑或运算) not(逻辑否运算)
-
and(逻辑与运算)
-
应用场景:要求多个条件同时满足,就是将都多个条件用and连接
相当于生活中的并且
-
运算符规则:两个都是True结果才是True ,否则结果就是False
True and True -> True
True and False -> False
False and True -> False
False and False -> False
-
-
or(逻辑或运算)
-
应用场景:多个条件中只要有一个条件满足的时候,用or连接,或者
-
运算规则:两个都是False 结果才是False,只要有一个True结果就是True
True and True -> True
True and False -> False
False and True -> False
False and False -> False
-
-
not(逻辑否运算)
-
应用场景:对某个条件进行否定
-
运算规则:
not True -> False
not Fase -> True
y = 78 y % 3 == 0 and y % 7 == 0 print('能否同时不被3和7整除:',not (y % 3 == 0 and y % 7 == 0)) print('能否同时不被3和7整除:',not x % 21 == 0)
-
-
练习
num3 = 6 print((num3 % 10 + num3 % 100 // 10) % 2 == 0) pirnt((num3 % 10 + num3 // 10 % 10) % 2 == 0)
4、逻辑运算符拓展
-
短路操作
- 逻辑与的短路操作:表达式1 and 表达式2 ,如果表达式1的结果是Fasle,则表达式2的代码不执行
- 逻辑与的短路操作:表达式1 or 表达式2 ,如果表达式1的结果是True,则表达式2的代码不执行
-
运算对象不是布尔值
-
表达式1 and 表达式2 如果表达式1的布尔值是True,整个与运算的结果是表达式2
如果表达式1的布尔值是False,整个与运算 的结果是表达式1
表达式1 or 表达式2 如果表达式1的布尔值是False,整个与运算 结果是表达式2
如果表达式1的布尔值是True,整个与运算的结果是表达式1
-
print(1 and 5) #5
print(0 and 5) #0
print(1 or 5) #1
print(not 10) #False
print(not None) #True
-
补充:数据的布尔值(非常重要)
-
python中所有的数据都是布尔值
-
所有的零值和空值对应的布尔值是False 其他的都是True
-
零值和空值:0,0.0 ,0.00 None
-
5、赋值运算符
-
赋值运算符 : = += -= *= /= %= //= **=
- 重要结论: 1)所有的赋值运算符的功能都是用来给变量赋值,没有计算结果。(所有的赋值运算都没有结果)
2) 所有的赋值运算符的左边都必须是变量 - 变量= 数据 将数据保存到变量中
- 重要结论: 1)所有的赋值运算符的功能都是用来给变量赋值,没有计算结果。(所有的赋值运算都没有结果)
-
复合赋值运算符+= -= *= /= %= //= **=
-
变量 += 数据 变量=变量+数据 先将变量中的保存的数据取出来,和右边的数据进行相加后的结果,再将结果重新赋值给变量
-
注意 这里的变量必须先赋值
a = 3 a *= 3 print(a)
-
-
运算符的优先级
- 数学运算符 >比较运算符 >逻辑运算符 >赋值运算符
** > * / % // > + - - 有括号先算括号里面的
- 数学运算符 >比较运算符 >逻辑运算符 >赋值运算符
6、if 分支结构
-
流程控制
- 顺序结构(默认)代码从上到下一次执行,代码只执行一次
- 分支结构 根据条件判断去执行或不执行代码
- 循环结构 让代码重复执行
-
if分支结构
-
if单分支结构 满足条件执行,某个操作,不满足条件的不执行
-
语法:
if 条件语句:
代码段
-
说明:
-
if 关键字,固定写法
-
条件语句 任何有结果的表达式 (除了赋值语句以外的表达式), 比如 数据 已赋值过的变量 运算表达式 函数调用表达式
-
: 固定写法(必须要写,注意输入法)
-
代码段 和 if 保持一个缩进的一条或者多条语句(满足条件才执行)
-
执行过程:
先判断条件语句的结果是否为Ture,如果式True就是执行代码段,否则就不执a = 100 if a: print('代码段1') print('代码段2')
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0): print('闰年')
-
-
-
if 双分支结构 满足条件的执行某个操作,条件不满足的时候执行另外的操作
-
语法:
if 条件语句:
代码段1(满足条件要执行的代码)
else:
代码段2(不满足条件要执行的代码)
if num % 2 == 1: print('奇数') else: print('偶数') # 方法二 if num % 2: print('奇数') else: print('偶数')
-
-
if 多分支结构 根据不同的条件执行不同的操作(条件之间满足:其中一个条件满足了,另外的条件绝对不会满足)
-
语法:
if 条件语句1:
代码段1
elif 条件语句2:
代码段2
elif 条件语句3:
代码段3
…
else:
代码段N
其他语句# 方法一 if 0 <= age <= 3: print('儿童') elif 4 <= age <= 17: print('少年') elif 18 <= age <= 28: print('青年') elif 29 <= age <= 39: print('壮年') elif 40 <= age <= 59: print('中年') else: print('老年') # 方法二: if age <= 3: print('儿童') elif age <= 17: print('少年') elif age <= 28: print('青年') elif age <= 39: print('壮年') elif age <= 59: print('中年') else: print('老年') height = 180 weight = 160 if height > 175: print('跳远') if weight > 170: print('摔跤')
-
作业
选择题
-
print(100 - 25 * 3 % 4)
应该输出什么? (B)A. 1
B. 97
C. 25
D. 0
-
下列哪种说法是错误的(A)。
A. 除字典类型外,所有标准对象均可以⽤于布尔测试
B. 空字符串的布尔值是False
C. 空列表对象的布尔值是False
D. 值为0的任何数字对象的布尔值是False
-
下列表达式的值为True的是(B)。
A. 3>2>2
B. 1 and 2 != 1
C. not(11 and 0 != 2)
D. 10 < 20 and 10 < 5
-
Python不⽀持的数据类型有(A)。
A. char
B. int
C. float
D. list
-
(多选)n = 6784,以下能够获取到7 的⽅法有(C,D)。
A. n / 1000 % 100
B. n % 1000 / 100
C. n // 100 % 10
D. n // 10 % 100 // 10
-
运⾏以下程序,当从键盘上输⼊12,运⾏结果是(A)。
x = (input()) print(type(x))
A. <class 'str'>
B. <class 'int'>
C. 出错
D. <class 'dict'>
-
下列表达式的运算结果是(D ) 。
a = 100 b = False print(a * b > -1)
A. False
B. 1
C. 0
D. True
填空题
- 查看变量中数据的类型的函数名是( type() )。
- 已知 x = 3 == 3 ,执⾏结束后,变量x的值为(True)。
- 已知 x = 3 ,那么执⾏语句 x += 6 之后,x的值为(9)。
- 表达式 3 ** 2 的值为(9),表达式 3 * 2 的值为(6),表达式 4 ** 0.5 的值为(2)。
编程题
-
写出判断⼀个数是否能同时被2和5整除的条件语句, 并且打印对应的结果。
x = 68 print('是否能同时被2和5整除:',x % 2 == 0 and x % 5 == 0) answer: 是否能同时被2和5整除: False
-
写出判断⼀个数是否能够被2或者5整除,但是不能同时被2或者5整除的条件语句, 并且打印对应
的结果。
a = 34 print('是否能够被2或者5整除,但是不能同时被2或者5整除:',(x % 2 == 0 or x % 5 == 0)and x % 10 == 0) answer: 是否能够被2或者5整除,但是不能同时被2或者5整除: False
-
假设今天的上课时间为15678秒,编程计算今天上课时间是多少⼩时,多少分钟,多少秒;以‘XX
时XX分XX秒’的⽅式表示出来。
例如:100秒表示成 0时1分40秒
s = 15678 print(s // 3600,'时',s % 3600 // 60,'分',s % 3600 % 60,'秒') answer: 4 时 21 分 18 秒
-
定义两个变量保存⼀个⼈的身⾼和体重,编程实现判断这个⼈的身材是否正常!
公式: 体重(kg) / (身⾼(m)的平⽅值 ) 在18.5 ~ 24.9之间属于正常。
输出格式: 是否正常:True/False
height = 165 weight = 60 c = weight / height ** 2 print('是否正常:',18.5 <= c <= 24.9) answer: 是否正常: False
-
根据输入的成绩的范围打印
及格
或者不及格
a = int(input('请输入成绩',)) if a >= 60: print('及格') else: print('不及格') answer: 请输入成绩35 不及格
-
根据输入的年纪范围打印
成年
或者未成年
,如果年龄不在正常范围内(0~150)打印这不是人!
。b = int(input('请输入年龄',)) if 18 <= b <= 150: print('成年') elif 0 <= b <18: print('未成年') else: print('不是人') answer: 请输入年龄190 不是人
-
输入两个整数a和b,若a-b的结果为奇数,则输出该结果,否则输出提示信息
a-b的结果不是奇数
。a = int(input('请输入整数a:',)) b = int(input('请输入整数b:',)) if (a - b) % 2 == 1: print(a - b ) else: print('a-b的结果不是奇数') answer: 请输入整数a:20 请输入整数b:10 a-b的结果不是奇数