01-review
1.注释
单行注释(ctr+/)
"""
多行注释
"""
'''
多行注释
'''
2.行和缩进
print(100)
print(200)
print(300);print(400)
print(500)
3.标识符和关键字
由字母、数字下划线组成,并且数字不能开头
本身具有特殊功能或者特殊意义的标识符,例如:True、False、None
4.基本数据类型
"""
1)数字数据: int、float
2)文本数据:str
3)布尔数据:True、False
4)空值: None
"""
print(23, -233, 9.9, 3e6)
print('hello world!', "余婷")
5.type(数据)
print(type('abc'))
6.print
print(19)
print(10, 29, 78, 1)
print(19, 78, end='===')
print(10, 29, 78, 1, sep='++')
7.input
name = input('请输入姓名:')
print(name)
#
age = int(input('请输入一个年龄:'))
8.类型转换: 类型名(数据)
print(int(2.34))
print(int(True), int(False))
print(int('728'))
print(float(239))
print(float(True))
print(float('23.28'))
print(bool(0))
print(str(29))
02-变量
1.变量的作用 - 保存数据
程序中使用数据的方式:
1)在需要数据的时候直接提供数据
2)先将数据保存到变量中,然后在需要使用数据的时候通过变量来提供数据
需求:打印我的年龄值
#方法1:
print(18)
#方法2:
age = 18
print(age)
需求:打印5遍英雄"掘墓者"的台词
#方法1:
#print('掘墓者:我走遍整片大陆,只为找到你的残骸,为你超度。我的背后留下了无数的坑,那都是我曾做找你的证明,。当我找到你的时候,不料我已万鬼缠身,我只好牺牲自己,赠予你暂时的生命,短暂的重逢后,我们双双死去.')
#print('掘墓者:我走遍整片大陆,只为找到你的残骸,为你超度。我的背后留下了无数的坑,那都是我曾做找你的证明,。当我找到你的时候,不料我已万鬼缠身,我只好牺牲自己,赠予你暂时的生命,短暂的重逢后,我们双双死去.')
#print('掘墓者:我走遍整片大陆,只为找到你的残骸,为你超度。我的背后留下了无数的坑,那都是我曾做找你的证明,。当我找到你的时候,不料我已万鬼缠身,我只好牺牲自己,赠予你暂时的生命,短暂的重逢后,我们双双死去.')
#print('掘墓者:我走遍整片大陆,只为找到你的残骸,为你超度。我的背后留下了无数的坑,那都是我曾做找你的证明,。当我找到你的时候,不料我已万鬼缠身,我只好牺牲自己,赠予你暂时的生命,短暂的重逢后,我们双双死去.')
#print('掘墓者:我走遍整片大陆,只为找到你的残骸,为你超度。我的背后留下了无数的坑,那都是我曾做找你的证明,。当我找到你的时候,不料我已万鬼缠身,我只好牺牲自己,赠予你暂时的生命,短暂的重逢后,我们双双死去.')
#方法2:
#message = '掘墓者:我走遍整片大陆,只为找到你的残骸,为你超度。我的背后留下了无数的坑,那都是我曾做找你的证明,。当我找到你的时候,不料我已万鬼缠身,我只好牺牲自己,赠予你暂时的生命,短暂的重逢后,我们双双死去.'
print(message)
print(message)
print(message)
print(message)
print(message)
2.定义变量 - 创建变量保存数据
语法:
变量名 = 数据
说明:
1)变量名
由程序员自己命名;
两个要求:是标识符;不是关键字
三个规范:见名知义(看到变量名就知道这个变量中保存的是什么数据);
所有的字母都小写多个单词之间用下划线隔开;
不使用系统函数名(print、input、type)、类名(int、float、str、bool)和模块名(math、keyword、random)
2) =
赋值符号;固定写法
3) 数据
可以是任何有结果的表达式(包括:具体的某个数据、已经赋值过的变量、有结果的运算表达式、函数调用表达式等)
dog_name = '财财'
#int = 10
print(int(2.34))
a = 10
b = 'abc'
c = a
d = 10 + 20
e = input('请输入一个数据:')
3.使用变量
使用变量就是使用变量中保存的数据(变量中保存的数据能做的事情,变量都可以做)
注意:变量必须先定义再使用
height = 170 # 将数据170保存到变量height中
print(170)
print(height)
print(170 + 10)
print(height + 10)
print(type(170))
print(type(height))
message = '你好:'
input('你好:')
input(message)
#错误!
print(weight)
weight = 100
4.修改变量值
重新给变量赋值
后赋的值会覆盖变量中原来保存的数据。
age = 18
print(age)
age = 19
print(age)
5.同时定义多个变量
1)同时定义多个变量赋相同的值:
变量名1 = 变量名2 = 变量名3 = ... = 数据
x = y = z = 100
print(x, y, z)
sum1 = count = 0
2)同时定义多个变量赋不同的值:
变量名1, 变量名2, 变量名3,… = 数据1, 数据2, 数据3,…
注意:前面变量的个数必须和后面数据的个数保持一致
m, n = 10, 20
print(m, n)
x1, y1, z1 = 10, 20, 30
练习:交换两个变量值
v1 = 100
v2 = 320
#方法1:
t = v1 # t = 100
v1 = v2 # v1 = 320
v2 = t # v2 = 100
print(v1, v2)
#方法2:
v1, v2 = v2, v1 # v1, v2 = 320, 100
print(v1, v2)
03-数学运算符
数学运算符:+(加)、-(减)、*(乘)、/(除)、%(取余、取模)、//(整除)、**(幂运算)
1. +(加)、-(减)、*(乘)、/(除)
python中的+、-、*、/和数学中的+、-、×、÷的功能一模一样
print(5 + 2) # 7
print(5 - 2) # 3
print(5 * 2) # 10
print(5 / 2) # 2.5
注意:除法运算的运算结果的类型一定是浮点型
print(4 / 2) # 2.0
2. % - 取余(取模)
x % y - 求x除以y的余数
print(10 % 3) # 1
print(15 % 4) # 3
应用1:判断两个数是否存在整除关系(判断两个数的余数是否为0)
num = 108
print(num % 2)
num = 9
print(num % 3)
应用2:取整数的低位数(让整数对10或者10的幂次方进行取余操作)
num = 7289
print(num % 10) # 9
print(num % 100) # 89
print(num % 1000) # 289
3.** - 幂运算
x ** y - 求x的y次方
print(2 ** 3)
print(5 ** 4)
print(16 ** 0.5) # 4.0
print(8 ** (1/3)) # 2.0
print(3 ** -2)
print(2 ** -2)
4.// - 整除
x // y - 求x除以y的商,商向小取整。
print(5 // 2) # 2 2.5 3
print(10 // 3)
print(-5 // 2) # -2 -2.5 -3
应用1:去掉一个正整数的低位数,保留高位数
num = 2733
print(num // 10) # 273
print(num // 100) # 27
练习:获取任意一个正整数的10位数
num = 23489
#方法1:
#2348 % 10 -> 8
print(num // 10 % 10)
#方法2:
#89 // 10 -> 8
print(num % 100 // 10)
04-比较运算符
比较运算法:>(大于)、<(小于)、>=(大于等于)、<=(小于等于)、==(等于)、!=(不等于)
注意1:所有的比较运算的运算结果都是布尔值
print(10 > 20)
print(10 < 20)
print(20 >= 20)
print(10 == 12)
print(10 != 12)
num = 23
print('num是否是偶数:', num % 2 == 0)
age = 17
print('是否成年:', age >= 18)
注意2:python的比较运算支持连写表示范围
x = 0.98
print('x是否在0到1之间:', 0 <= x <= 1)
05-逻辑运算符
逻辑运算符:and(逻辑与运算)、or(逻辑或运算)、not(逻辑非运算)
1. and - 逻辑与运算
1)应用场景:
如果需要两个条件同时满足,就用and来连接这两个条件;相当于生活中的并且。
2)运算规则:
条件1 and 条件2 - 如果两个条件都是True,结果就是True,只要有一个是False结果就是False
True and True - True
True and False - False
False and True - False
False and False - False
#案例1:写出判断num是否能同时被3和7整除的条件
num = 21
#num能被3整除:num % 3 == 0
#num能被7整除:num % 7 == 0
print('num是否能同时被3和7整除:', num % 3 == 0 and num % 7 == 0)
print('num是否能同时被3和7整除:', num % 21 == 0)
#练习:写出判断num是否是大于10的偶数的条件
num = 34
#num是否是大于10: num > 10
#num是否是偶数: num % 2 == 0
print('num是否是大于10的偶数:', num > 10 and num % 2 == 0)
2. or - 逻辑或运算
1)应用场景:
如果需要两个或者多个条件中有一个条件成立就行,就将两个或者多个条件用or连接;相当于生活中的或者
2)运算规则:
条件1 or 条件2 - 如果两个条件都是False,结果才是False;只要有一个是True,结果就是True
True or True - True
True or False - True
False or True - True
False or False - False
练习:判断num是否能被3或者4整除的条件
num = 234
print('num是否能被3或者4整除:', num % 3 == 0 or num % 4 == 0)
练习:写出判断指定的年是否是闰年的条件
#闰年分为世纪闰年(能被400整除的年)和普通闰年(能被4整除但是不能被100整除的年)两种
#世纪闰年: year % 400 == 0
#普通闰年: year % 4 == 0 and year % 100 != 0
year = 2003
print('year是否是闰年:', (year % 400 == 0) or (year % 4 == 0 and year % 100 != 0))
3. not - 逻辑非
1)应用场景:
对一个条件进行否定,相当于生活中的不
2)运算规则:
not 条件 - 对指定条件进行否定
not True - False
not False - True
案例:age不大于12的条件
age = 27
print(not age > 12)
print(age <= 12)
案例:判断num是否不等于10
num = 23
print(num != 10)
print(not num == 10)
练习:写出num是否不能同时被3和7整除的条件
num = 23
print(not(num % 3 == 0 and num % 7 == 0))
print(not num % 21 == 0)
print(num % 21 != 0)
06-赋值运算符和运算符优先级
1.赋值运算符:
=、+=、-=、*=、/=、%=、//=、**=
所有的赋值运算符都是用来给变量赋值的,所以所有赋值运算符的左边必须是变量,右边是能够提供数据的表达式
1)=
变量 = 数据 - 将指定的数据保存到指定变量中
a = 10
b = 20
a = 100
2)复合的赋值运算符
变量 += 数据 - 将变量中保存的数据取出来和后面的数据进行加法运算,再将结果重新赋值给前面的变量
注意:复合的赋值运算符前面的变量必须是已经定义过的变量
x = 100
x += 10 # x = x + 10 (x + 10 -> 100 + 10 -> 110; x = 110)
print(x)
x -= 20 # x = 90
x *= 2 # x = 180
x %= 3 # x = x % 3 = 180 % 3 = 0
x **= 2 # x = x**2 = 0
print(x)
#特别注意:赋值运算表达式没有结果
print(10 + 20)
print(10 > 3)
print(10 > 20 and 5 > 3)
#print(a = 10)
a = 10
print(a)
2.运算符优先级
数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符(最低)
** > *、/、%、// > +、-
and > or
有括号先算括号里面的 - ()
07-分支结构
1.流程控制
根据代码执行过程不同,可以将代码的结构分为三种:
1)顺序结构(默认):
代码从上往下按顺序依次执行,并且每一条语句只执行一次
2)分支结构(if):
根据条件选择性的执行代码
3)循环结构(for、while):
让代码重复执行
print(100)
print(200)
print(300)
2.分支结构
1)if单分支结构
如果xxx就xxx
a.应用场景:满足条件才执行某个操作,条件不满足的时候这个操作就不执行
b.语法:
if 条件语句:
代码段
说明:
if - 关键字;固定写法
条件语句 - 可以是任何有结果的表达式
: - 固定写法(注意必须是英文输入法的冒号)
代码段 - 结构上,就是和if保持一个缩进的一条或者多条语句(至少一条);
逻辑上,就是满足条件才会执行的代码
c.执行过程
先判断条件语句是否为True,如果是就执行代码段中的代码,否则就不执行。
“”"
age = 10
根据age的值打印’成年’
if age >= 18:
print('成年')
print('=====')
2)if双分支结构
如果xxx就xxx否则就xxx
语法:
if 条件语法:
代码段1(满足条件会执行的代码)
else:
代码段2(条件不满足的时候会执行的代码)
根据age的值打印’成年’或者’未成年’
age = 9
if age < 18:
print('未成年')
else:
print('成年')