复习:
python环境和解释器
数字取最高位最低位,取中间
运算符的扩展not布尔值打印的使用
!!!
注意字符串在打印的时候没有引号
赋值语句不能当成数据使用 #(a = 3 + 5) 报错
疑问:
1.print(100, 'abc', True) # True是否加引号输出结果无区别
2.Typora 某些字体强调颜色怎么设置
Pycharm 快捷键:
ctr + / – 添加或者取消注释
ctr + x – 剪切
ctr + z – 撤销
ctr + shift + z – 反撤销
ctr + c – 复制(拷贝)
ctr + v – 粘贴
ctr + s – 保存
ctr + a – 全选
1.什么是编程:
# 人通过写指令来指挥计算干活
2.解释器:
python解释器: 编写python代码保存后,我们会得到一个以.py为扩展名的文本文件。要运行此文件,就需要python解释器去执行.py文件。
# 电脑想要运行Python程序必须先有Python解释器。(装Python环境主要是提供Python解释器)
3.pycharm和python区别:
简单来说:Python是个解释器,pycharm是为Python编程语言专门打造的一款IDE(集成开发环境)。在pycharm中编写Python程序,最终还是要有Python解释器的支持,两者配合工作。单独下载一个pycharm是不行的,同时还要下载一个python解释器。
4.运算符:
4.1数学运算符:+(加)、-(减)、*(乘)、/(除)、%(取余、取模)、//(整除)、**(幂)。
① 其中的+、-、*、/ 和数学中的 +、-、×、÷的功能一模一样。
② %(取余、取模)
使用格式:x % y -> 求x除以y的余数。
应用场景:判断一个数是否能够被另外一个数整除(余数是否是0);取整数低位数。
例:取一个数的后两位数即对100取余
num = 892193
print(num % 100) # 93
③ //(整除)
使用格式:x // y -> x除以y的结果向小取整。
应用场景:去除一个数低位数;得到最高位数
num = 27383
print(num // 10) # 2738
print(num // 100) # 273
print(num // 1000) # 27
print(num // 10000) # 2
④ (幂)
使用格式:x ** y - >求x的y次方。
print(2 ** 3) # 8
print(25 ** 0.5) # 5
4.2 比较运算符有:==(等于)、!=(不等于)、>(大于)、<(小于)、>=(大于等于)、<=(小于等于);注意所有的比较运算符的运算结果都是布尔值。
age = 12
print(18 <= age <= 30) # False
4.3 逻辑运算符:
逻辑运算符有:and(逻辑与运算)、or(逻辑或运算符)、not(逻辑非运算)
① and(逻辑与运算)
应用场景:如果要求多个条件同时满足,这个时候多个条件使用and连接。相当于生活中的“并且”。
num = 14
print(num, '是否能够同时被3和7整除:', num % 3 == 0 and num % 7 == 0) # False and num % 7 == 0 -> False
③ not(逻辑非运算)
应用场景:如果要对一个条件进行否定,就使用not。
age = 19
print(not age > 18) # False
4.短路操作
# 逻辑与运算的短路操作:如果第一个条件是False,那么第二个条件对应的语句不会再执行
# 逻辑或运算的短路操作:如果第一个条件是True,那么第二个条件对应的语句不会再执行
例1:print(5 > 10 and 4 + 3) # False
print(5 > 1 and 4 + 3) # 7
print(5 > 1 or 4 + 3) # True
print(5 > 10 or 4 + 3) #7
4.1运算对象不是布尔值
# 在python中任何类型的数据都可以作为逻辑运算符的运算对象
# 数据1 and 数据2 - 如果数据1的布尔值是True, 结果就是数据2; 如果数据1的布尔值是False, 结果是数据1
# 数据1 or 数据2 - 如果数据1的布尔值是True, 结果就是数据1; 如果数据1的布尔值是False, 结果是数据2
# not 数据1 - 如果数据1的布尔值是True, 结果是False; 如果数据1的布尔值是False, 结果就是True
例:
print(0 and 10) # 0
print(1 and 2) # 2
print(-3 and 9) # 9
print(None and 'abc') # None
print(False and 100) # False
print(0 or 10) # 10
print(1 or 2) # 1
print(-3 or 9) # -3
print(None or 'abc') # abc
print(False or 100) # 100
print(not 100) # False
print(not 'abc') # False
print(not "") # True
5.数据的布尔测试(掌握)
# 在Python中任何类型的数据都可以转换成布尔。
# 转换规则:任何为零为空的值都会转换成False,其他都是True。
# 0 —> False 0.0 -> False 0.000 -> False
# '' -> False "" -> False None -> False [] -> False {} -> False () -> False
# bool(数据) -> 获取指定数据对应的布尔值
例:
print(bool(0)) # False
print(bool(0.0)) # False
print(bool(''), bool(""), bool(None)) # False False False
6.赋值运算符: =、+=、-=、*=、/=、%=、//=、**=
# 重要结论:赋值运算符的作用是给变量赋值,不会产生结果(数据)!!!!
例:# print(a = 10) # 报错!
6.1 :=
# 直接将 = 右边的数据赋给左边的变量。(=的左边必须是变量)
abc = 20
6.2:+=、-=、*=、/=、%=、//=、**=
# 变量 += 数据 - 将变量中的值取出来和指定进行加法运算,然后将运算的结果重新赋值给变量
# 注意:变量必须已经赋值过的变量
例:
num = 100
num += 10 # num = num + 10 -> num = 100 + 10 -> num = 110
print(num) # 110
num -= 20 # num = num - 20 -> num = 110 - 20 -> num = 90
print(num) # 90
num *= 2 # num = num * 2 -> num = 90 * 2 -> 180
print(num) # 180
num %= 3 # num = num % 3 -> num = 180 % 3 -> num = 0
print(num) # 0
7.运算符的运算顺序
# 1.运算符优先级从高到低:数学运算 > 比较运算 > 逻辑运算 > 赋值运算
# 2.数学运算符优先级:** > *、/、%、// > +、-
# 3.有括号先算括号里面,括号只有小括号。
例:
print(4 + 8 / 2 > 5 + 3 * 4 and 8 < 15) # 8 > 17 and 8 < 15 -> false and 8 < 15 -> false
num = 10
num *= 8 * 2 # num *= 16
print(num) # 160
(num = 3) + 4 # 赋值只是一个结果,不做为数据,不能直接参与运算。 错误!
8.流程控制:
# 流程控制指的是控制程序的执行顺序:
# 1.顺序结构(默认):代码从上往下一条一条的按顺序执行
# 2.选择/分支结构:根据条件选择执行某个操作 (if语句)
# 3.循环结构:让代码重复执行。(for循环、while循环)
8.2.1 . if 分支机构:
1.1 解决的问题:如果满足某个条件就执行某个操作,条件不满足的时候对应的操作不执行
1.2 语法:
if 条件语句:
代码段
说明:
if - 关键字,固定写法
条件语句 - 任何有结果的表达式(不能是赋值语句)
冒号 - 固定写法,注意是英文的冒号
代码段 - 和if保持一个缩进的一条或者多条语句; 满足条件才会执行代码
1.3 执行过程:
先判断条件语句的布尔值是否为True,如果是就执行代码段,否则代码段不执行
例:
# 练习:如果指定的数是偶数就打印'偶数',否则不打印
num = 90
if num % 2 == 0:
print('偶数')
# 练习2:如果输入的年份是闰年,就打印'闰年', 否则不打印
year = int(input('请输入年份:')) # 注意: 通过input函数输入的数据的类型是字符串,如果要对结果进行数字操作需要先转换
# print(year, type(year))
# print(new_year, type(new_year))
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
print('闰年')
8.2.2 if 双分支结构:
2.1 解决的问题:满足条件执行某个操作,条件不满足的时候执行另外一个操作
2.2 语法:
if 条件语句:
代码段1
else:
代码段2
2.3 执行过程:
判断条件语句的布尔值是否为True,如果是执行代码段1,否则执行代码段2
例1:
# 练习1:写程序判断一个三位数是否是回文数。
# 232、101、909、393 -> 打印'回文数'
# 123、112、900 -> 打印 '不是回文数'
num = 101
left = num // 100
right = num % 10
if left == right:
print('回文数')
else:
print('不是回文数')
例2:
# 练习2:根据输入的数字的性质,打印'奇数'或者'偶数'
#法一:
num = int(input('请输入一个整数:'))
if num % 2 == 0:
print('偶数')
else:
print('奇数')
#法二:
num = int(input('请输入一个整数:'))
if num % 2:
print('奇数')
else:
print('偶数')
if not num % 2:
print('偶数')
else:
print('奇数')
例3:
str1 = ''
if str1:
print('不是空串')
else:
print('是空串')