欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Python基础-条件分支与循环

程序员文章站 2022-04-06 12:24:34
...

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)