python基础-流程控制
1.运算符
1.1算术运算符
+ 数字类型相加
例如:print(5+4) #返回结果9
+ 字符串相加,有拼接的作用
例如:print("张"+"飞") #返回的结果张飞
- 数字类型相减
例如:print(5-3) #返回结果2
* 数字类型相乘
例如:print(5*3) #返回结果15
* 字符串类型相乘
例如:print("我爱你"*3) #返回结果"我爱你""我爱你""我爱你",字符串运算乘法,会重复输入内容的次数
/ 数字类型相除
例如:print(6/3) #返回结果2
% 数字类型取余
例如:print(6 % 4) #返回结果2
// 数字类型取整
例如:print(6 // 4) #返回结果1
**数字类取次方
例如:print(5**2) #5的2次方 返回的结果25
1.2比较运算符
比较运算符的运算结果是Bool值类型(True或False)
== 等于,比较两个对象的值是否相等
例如:name = '张飞'
name1 = '张飞'
print(name == name1)
#返回的结果为True
<= 小于等于,比较两个对象的值大小
例如:num1 = 7
unm2 = 10
print(num1 <= unm2)
#返回的结果为True
>= 大于等于,比较两个对象的值大小
例如:num1 = 7
num2 = 10
print(num1 >= num2)
#返回的结果为False
!= 不等于,比较两个对象的值是否不相等
例如:num1=7
num2=10
print(num1 != num2)
#返回的结果为True
1.3赋值运算符
= 变量赋值
例如:name="张飞"
+= 先做+运算再做赋值
例如:i+=1 #相当于i=i+1
-= 先做-运算再赋值
例如:i-=1 #相当于i=i-1
1.4身份运算符
数据有两大类:
简单数据类型:字符串、数字、小数、None、布尔
特点:每次内存中开辟空间的存储数据, 如果出现重复的 数据, 不再单独开辟空间, 使用相同的内存地址, 目的 节约内存空间.
复杂数据类型:列表 list、 元组 tuple 、字典 dice
特点:每次内存开辟空间 都是开辟新空间, 无论数据是否一致
is 判断两个变量的内存地址是否一样的
is not 判断两个变量的内存地址是否不一样
举例:
简单数据
name='张飞'
name2='张飞'
#查询变量名的内存地址
print(id(name))
print(id(name2))
#判断两个变量的内存地址是否一样
print(name is name2)
#返回结果True
举例:
复杂数据
name['张飞','刘备']
name2['张飞','刘备']
#判断两个变量的内存地址是否一样
print(name1 is not name2)
#返回结果True
1.5运算符优先级
类似数学,可以通过()方式提升优先级
1.6逻辑运算符
and '与' 运算符 全部为真,一假为假
or '或' 运算符 一假为真
not '非' 运算符 取反
在python中除了布尔值以外,其他的数据类型在参与逻辑运算的时候可以等同于布尔值
0, ‘’, [], {}, (), None,这些等同于False,其他的都为True
逻辑运算中的and和or又被称为短(断)路运算
and: 在与运算中只要出现False就不再继续向下运算
and: 在与运算中只要出现False就不再继续向下运算
最后无论 and 或者 or 运算完成之后返回最后一个运行的结果
例如:
print(1 and True and None and '张飞') #返回None
print(False or '张飞' or '' or {} ) #返回值张飞
2.类型转换
2.1数据类型的种类
int(s) 将s转化为整数类型
str(s) 将s转化为字符串类型
float(s) 将s转化为小数类型
举例1:
num='17' #现在是字符串类型
num=int(num) #改变类型为整数再赋值
print(type(num)) #查看数据类型,并输入数据类型 结果为int
举例2:
num=17
num=str(num)
print(type(num)) #结果为str
2.1为什么要进行类型转换
1、需要录入的数据一般都是字符串,如果需要参与数学运算必须转换为数字类型
2、将其他类型作为字符串时需要将其转换为字符串
3.变量的格式化输出
如果希望输入文字信息同时,一起输出数据(变量),就需要使用到格式化操作符
第一种方式: %-string
方式:‘内容内容 %s’ % 变量名
‘内容内容 %s %d’ % (变量名1,变量名单2)
%s 字符串的操作符(占位符)
%d 整数的操作符(占位符)
%f 小数的操作符(占位符)
例如:name='张飞'
age=18
money=20.3456
print('我的姓名是:%s 我今年%d 我这个月只有%f的零花钱' % (name,age,moey))
第二种方式: f-string
方式:f"内容内容{变量名1},{变量名2}"
例如:name='张飞'
age=18
money=20.3456
print(f"我的姓名是:{name} 我今年{age} 我这个月只有{money}的零花钱")
4.输出换行
换行:\n
print("春眠不觉晓\n处处闻蹄鸟)
5.条件控制
5.1单条件分支
语法: if 要判断的条件
条件满足时,要执行的代码块
例如:
age=18
if age>18
print('进网吧上网')
5.2双条件分支
语法: if 要判断的条件:
条件满足时,要执行的代码块
else:
条件不满足时,要做的事情
例如:
age=18
if age>18
print('进网吧上网')
else:
print('回家睡觉')
5.3 多条件分支
语法: if 要判断的条件A:
条件A满足时,要执行的代码块
elif 要判断的条件B:
条件B满足时,要执行的代码块
elif 要判断的条件C
条件C满足时,要执行的代码块
else:
条件都不满足时,要执行的代码块
可以有多个elif
例如:
手动输入成绩,根据成绩判定学生的等级,大于等于90分优秀,大于等于80分良好,大于等于70分一般,大于等于60分及格,其他的都是不及格
core=int(input('请输入你的成绩:')
if core>=90:
print('优秀')
elif core>=80:
print('良好')
elif core>=70:
print('一般')
elif core>=60:
print('及格')
else:
print('不及格')
6.while 循环
语法:
while 判断条件:
重复执行的循环体
例如:求1-100的和
i=1
num=0 #和,默认从0开始
while i<=100:
num=unm+i
i+=1
print(num)