210120笔记整理
一、前情回顾
1.什么是编程
人通过写指令来指挥计算机干活
2.解释器
电脑运行python程序必须先有python解释器。
装python环境
3. Python基础语法
print('hello world')
print('你好')
print('hello world'); print('你好')
3.2注释
单行注释和多行注释
多行注释用3个引号,可以在里面写多行
3.3标识符
字母、数字、下划线;数字不能开头
3.4关键字
3.5常见数据和数据类型
数字数据:int整数、float小数、复数
文本数据:电话号码,姓名等描述性文字 用str代表
布尔数据:判断对错的,只有2种 True和False
4.输入和输出函数
print(98)
print(100, 'abc', True)
value = input('输入一个数字')
print(value)
5.变量
变量命名要遵守规范
单词字母小写,多单词用下划线隔开
不能用占用系统函数来命名
address = 'xx市xx街道xx小区xx楼号'
print(address)
同时定义多个变量
a, b, c = 10, 20, 30
print(a, b, c)
x = y = z = 100
print(x, y, z)
二、各类运算符及其运用
Python支持的运算符有4种
-
数字运算符
-
比较运算符
-
逻辑运算符
-
赋值运算符
1、数字运算符
1.1 +(加)、-(减)、*(乘)、/(除)
和数学中的+ - x ÷的功能相同
1.2 %(余数,取余)、
应用一:判断一个数是否能够被另一个数整除
print(8 % 2) # 余数为0
print(15 % 4) # 余数为3
应用二:判断奇数偶数
num = 123456
print(num % 2) # 余数为0 偶数
print(11 % 2) # 余数为1 奇数
应用三:取低位数
print(num % 10) # 取个位数的余数 为6
print(num % 100) # 取最后2位数的余数 为56
print(num % 1000) # 取最后3位数的余数 为456
以此类推
1.3 //(整除)、
x//y x除以y的结果再向小取值
print(5 / 2) # 结果 2.5
print(5 // 2) # 结果 2
print(-5 // 2) # 结果 -3
应用:取高位数,去掉后面几位数、低位数
num = 123456
print(num // 10) # 12345
print(num // 100) # 1234
print(num // 1000) # 123
整除// 和 取余% 组合使用
练习:取任意一个整数的十位数
例:345取十位数4;18976取十位数7;6取0
方法一:整除10,先去掉个位数,再取余10,
print(345 // 10 % 10) # 4
print(18976 // 10 % 10) # 7
print(6 // 10 % 10) # 0
方法二:取余100,再整除10
print(345 % 100 // 10) # 4
print(18976 % 100 // 10) # 7
print(6 % 100 // 10) # 0
1.4.**(幂)
x**y 求x的y次方
print(2 ** 3) # 8
print(25 ** 0.5) # 5.0
print(27 ** (1/3)) # 3.0
2、比较运算符
比较运算符:所有结果均为布尔值,True或False
2.1 ==相等、 !=不相等
print(4 == 4) # True
print(4 != 4) # False
print(10 % 2 == 0) # True
2.2 >大于、 <小于 、 >=大于等于、<=小于等于
print(2 > 1) # True
print(2 < 1) # False
print(10 >= 5) # True
print(10 <= 5) # False
print(10 - 1 > 5) # True
可以通过连写方式来表示取值范围
age = 10
print(18 < age < 24) # False
print(0 <= age <= 18) # True
3.逻辑运算符
3.1 and(逻辑与运算)
要求多个条件同时满足,使用and链接
练习:写出判断指定的数是否能够同时被3和7整除的条件
num = 21
能被3整除的条件:num % 3 == 0
能被7整除的条件:num % 7 == 0
print(num % 3 == 0 and num % 7 == 0)
3.2 or(逻辑或运算)
要求多个条件只用满足一个条件,用or链接
练习一:判断一个数是否能被3或7或5整除的条件
num = 11
print(num % 3 == 0 or num % 7 == 0 or num % 5 == 0)
练习二:判断指定的年份是否为闰年
闰年:a.年份能被4整除但是不能被100整除
b.年份能被400整除
year = 2010 # 不是闰年 False
print(year % 4 == 0 and year % 100 != 0 or year % 400 == 0)
3.3 not (逻辑非运算)
对条件进行否定,用not连接
age = 19
print(age > 18)
print(not age > 18)
print(age <= 18)
练习:写出不能同时被3和7整除的条件
num = 11
print(not (num % 3 == 0 and num % 7 == 0))
print(not num % 21 == 0)
扩展学习
1、短路操作
1)逻辑与运算的短路操作:and
前面数值如果判断为False,后面的代码不再执行,即后面的语句短路
False and print('条件1')
print('====')
2)逻辑或运算的短路操作:or
False or print('条件2')
2.数据的布尔测试
Python中任何数据都可以转换成布尔值
转换规则:任何为 0 或 空 的值都会转换成False
print(bool(0))
print(bool(0.0))
print(bool(0.00))
print(bool(''))
print(bool(""))
print(bool(None))
3、运算对象不是布尔值
在Python中任何类型的数据都可以作为逻辑运算对象
1)数据1 and 数据2
如果数据1的布尔值是 Ture,结果为数据2
如果数据1的布尔值是False,结果为数据1
result1 = 7 and 8
print(result1) # 8
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
2)数据1 or 数据2
如果数据1的布尔值是Ture,结果为数据1
如果数据1的布尔值是False,结果为数据2
result2 = 7 or 8
print(result2) # 7
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
- not 数据1 结果都为布尔值
如果数据1的布尔值是True,结果一定是False,反之亦然
print(not 1) # False
print(not None) # True
print(not True) # False
print(not False) # True
4、赋值运算符
赋值运算符:所有和 等号= 在一起用的运算符
符号包括: = += -= *= /= %= //= **=
赋值运算符的作用是给变量赋值,不会产生任何结果(数据)
凡是用数据的地方不可使用赋值运算符
1) =
直接将 等号= 右边的数据赋值给左边的变量 (左边必须为变量)
a = 10
print(a)
2) += -= *= /= %= //=
变量+=数据
将变量中的值取出来与指定的数据进行加法运算,运算结果重新赋值给变量
变量必须是已经赋值过的变量
num = 100
num += 10 # num=100+10
print(num) # 110
num -= 10
print(num) # 100
num *= 2
print(num) # 200
num /= 2
print(num) # 100.0
num %= 12
print(num) # 4.0
num //= 3
print(num) # 1.0
运算优先级
运算符的优先级顺序从高到低
数学运算符>比较运算符>逻辑运算符>赋值运算符
1)数学运算符里面的优先级:
** 大于 *、/、%、// 大于 +、-
有括号先算括号里面的,运算括号只有小括号
(num = 3) + 3 报错
print(4 + 8 / 2 > 5 + 3 * 4 and 8 < 15) # False
num = 10
num += 2 * 3
三、流程控制
流程控制是指控制程序的执行顺序
1.顺序执行结构(默认):代码从上往下一条条执行
每一条代码都会执行
print('1')
print('2')
print('3')
2.循环执行结构:让代码重复执行
用 for 循环 、while循环
3.选择/分支 执行结构:根据不同条件选择执行某个操作
在Python中 用 if 语句来完成这个选择执行结构
3.1 if 单分支结构
解决的问题:如果满足某个条件就执行,不满足就不执行
语法:
if条件语句:
先按一下tab键缩进,再写代码
说明:if为关键字,是固定写法
条件语句可以为任何有结果的表达式(不能为赋值)
冒号 必须写成英文模式
代码段必须和if保持一个缩进,满足条件才执行
执行过程:先判断条件的布尔值是否为True,是就执行,否则就不执行
age = 16
if age >= 18:
print('可以进网吧')
print(17)
练习:如果指定的数是偶数就打印'偶数‘,否则就不打印
num = 90
if num % 2 == 0:
print('偶数')
练习:如果输入的年份是闰年,就打印闰年,否则不打印
year = int(input('请输入年份:'))
通过input函数输入的数据类型是字符串,操作前先要转换
if(year % 4 == 0 and year % 100 != 0) or year % 400 == 0:
print('闰年')
3.2 if的双分支结构 if-else
解决问题:
满足条件执行某个操作,不满足时执行另一个操作
语法:
if条件语句:
代码段1
else:
代码段2
执行过程:
布尔值为True,如果是就执行代码段1,不是就执行代码段2
练习1:根据输入的数字的性质,打印'奇数’
num = int(input('输入数字:'))
方法一:更简单
if num % 2:
print('奇数')
else:
print('偶数')
方法二
if num % 2 == 0:
print('偶数')
else:
print('奇数')
练习二:判断一个三位数是否为回文数,正反读写一样的数
232
num = 232
方法一
if num % 100 == num // 10:
print('不是回文数')
else:
print('是回文数')
方法二
left = num % 100
right = num // 10
if left == right:
print('是回文数')
else:
print('不是回文数')