虽然起步有点晚,但是终于开始学习Python了,本系列文章作为我的学习笔记,主要是为了自己温故知新用,同时也与感兴趣的你们进行分享。
本篇文章主要涉及内容索引
11、分支结构
12、条件表达式
13、pass语句
14、range()函数
15、while循环
16、for-in循环
17、break语句
18、continue语句
19、while/for和else的搭配
20、循环嵌套
文章正文部分
11、分支结构
直接举个多分支结构的例子吧,多分支结构会了,单分支和双分支自然也就会了,例子如下:
score = int(input('请输入您的分数:'))
if score>=90 and score<=100 :
print('等级:优秀')
print('评语:继续加油,再接再厉!')
elif score>=80 and score<=90 :
print('等级:良好')
print('评语:加油!')
elif 60 <= score <= 80:
print('等级:合格')
print('评语:还需加油!')
else:
print('等级:不合格/非法输入')
print('评语:不要气馁,继续加油')
输入90时,运行结果如下:
请输入您的分数:90
等级:优秀
评语:继续加油,再接再厉!
输入50时,运行结果如下:
请输入您的分数:50
等级:不合格/非法输入
评语:不要气馁,继续加油
关于上面的例子,有以下几点需要注意的地方(序号与下图相对应):
① :input默认输入为str型,需要转换成int型再进行比较
② :判断语句末尾不要忘记加冒号 :
③和④:在编程语言中对于某个范围内的数据,一般采用标号③处的格式,但是在Python中支持更简单的格式,如标号④处所示,在Pycharm中前两行判断语句下都加了波浪线,提示有更简洁的方式,即④处所示的格式
⑤在C/C++语言中通过{}来判断属于该判断语句的执行部分,而在Python中,通过缩进来判断,如⑤处所示 print(‘等级:优秀’)和 print(‘评语:继续加油,再接再厉!’) 均为条件score>=90 and score<=100 成立时要执行的语句
再来看一个简单的分支嵌套的例子,Python中的分支嵌套依然是通过缩进来实现的,例子如下:
score = int(input('请输入您的分数:'))
Last_score = int(input('请输入您上一次的分数:'))
if 90 <= score <= 100:
print('等级:优秀')
if score>Last_score:
print('评语:继续加油,再接再厉!')
else:
print('评语:脚踏实地,再接再厉!')
else:
print('评语:要加油哦!')
依次输入98、96时,运行结果如下:
请输入您的分数:98
请输入您上一次的分数:96
等级:优秀
评语:继续加油,再接再厉!
12、条件表达式
看一个简单的条件表达式的例子,条件表达式比分支结构要简洁一点,例子如下:
score = int(input('请输入您的分数:'))
Last_score = int(input('请输入您上一次的分数:'))
print("继续加油,再接再厉! " if score > Last_score else '脚踏实地,再接再厉!')
依次输入98、96时,运行结果如下:
请输入您的分数:98
请输入您上一次的分数:96
继续加油,再接再厉!
条件表达式的格式如下图所示,红色框内的是判断结构,如果成立,则执行红框前的内容,如果不成立则执行红框后的内容
13、pass语句
语句什么都不做,只是一个占位符,用在语法上需要语句的地方,当某条语句我们还没想好怎么写的时候可以先写pass,然后等想好了再将pass替换为真正的语句,这样做程序不会报错,例子如下:
score = int(input('请输入您的分数:'))
if 90 <= score <= 100:
pass
print('评语:继续加油,再接再厉!')
14、range()函数
(1)range()函数用于生成一个整数序列
(2)创建range对象的三种方式:
① range(stop) :创建一个[0,stop)之间的整数序列,步长为1
② range(start,stop) :创建一个[start,stop)之间的整数序列,步长为1
③ range(start,stop,step) :创建一个[start,stop)之间的整数序列,步长为step
(3)range函数的优点:不管range对象表示的整数序列有多长,所有range对象占用的内存空间都是相同的,因为仅仅需要存储start,stop和step,只有当用到range对象时,才会去计算序列中的相关元素
(4)使用list()函数可以查看序列中的数据,具体的例子如下:
a1 = range(10)
a2 = range(1, 10)
a3=range(1, 10, 2)
print('a1:',list(a1))
print('a2:',list(a2))
print('a3:',list(a3))
运行结果如下:
a1: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
a2: [1, 2, 3, 4, 5, 6, 7, 8, 9]
a3: [1, 3, 5, 7, 9]
可以发现产生的数据是大于等于参数start,而小于stop的
(5)使用in或not in 可以判断数据是否在产生的序列中,如:
a1 = range(10)
print('a1:',list(a1))
print('10是否在当前的队列a1之中:',10 in a1)
运行结果如下:
a1: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
10是否在当前的队列a1之中: False
(6)我们通常使用range()函数作为循环遍历的对象
15、while循环
来看一个简单的例子:
a=1
while a<10 :
print(a)
a+=2
运行结果如下:
1
3
5
7
9
16、for-in循环
(1)for-in表达从(字符串、序列等)中依次取值,又称为遍历 for-in遍历的对象必须是可迭代对象,for-in的语法结构:for自定义的变量 in 可迭代对象:
字符串例子:
for a in 'hello X2' :
print(a)
运行结果如下:
h
e
l
l
o
X
2
序列例子:
for a in range(10) :
print(a)
运行结果如下:
0
1
2
3
4
5
6
7
8
9
(2)如果用不到自定义的循环变量,可用下划线代替:
for _ in range(5) :
print('ILY')
运行结果如下:
ILY
ILY
ILY
ILY
ILY
17、break语句
流程控制语句break语句,用于结束循环结构,通常与分支结构if一起使用
for _ in range(3):
mima=int(input("请输入密码:"))
if mima==666:
print('密码正确')
break
else:
print("密码不正确")
第一次输入777,第二次输入666,运行结果如下:
请输入密码:777
密码不正确
请输入密码:666
密码正确
18、continue语句
continue用于跳过本次循环剩余的部分,而break用于结束整个循环,如下面的例子只要不是5的倍数 求余数后值就不为0,符合if的条件,执行continue语句,continue语句后面的语句print(date)就被跳过了
for date in range(5, 21):
if date % 5:
continue
print(date)
运行结果如下:
5
10
15
20
19、while/for和else的搭配
在前面我们已经接触过if与else的搭配,其实else还可以跟for或者while搭配,只要for或者while正常结束(也就是没有被break打断而结束),就执行else后的语句,如下面的例子只有三次密码都输入错误(也就是break语句没有执行),才会执行与while/for对齐的那个else后的内容:
for _ in range(3):
mima=int(input("请输入密码:"))
if mima==666:
print('密码正确')
break
else:
print("密码不正确")
else:
print("对不起,三次密码均输入错误,设备将被锁定")
当输入为777、888、1234时,运行结果如下:
请输入密码:777
密码不正确
请输入密码:888
密码不正确
请输入密码:1234
密码不正确
对不起,三次密码均输入错误,设备将被锁定
当输入为666时,运行结果如下:
请输入密码:666
密码正确
20、循环嵌套
(1)下面看一个简单的循环嵌套的例子,打印一个9x9乘法表,其中end= 表示不换行输出,‘\t’是制表符
for i in range(1, 10):
for j in range(1, 1 + i):
print(j, '*', i, '=', i * j, end='\t')
print()
运行结果如下:
1 * 1 = 1
1 * 2 = 2 2 * 2 = 4
1 * 3 = 3 2 * 3 = 6 3 * 3 = 9
1 * 4 = 4 2 * 4 = 8 3 * 4 = 12 4 * 4 = 16
1 * 5 = 5 2 * 5 = 10 3 * 5 = 15 4 * 5 = 20 5 * 5 = 25
1 * 6 = 6 2 * 6 = 12 3 * 6 = 18 4 * 6 = 24 5 * 6 = 30 6 * 6 = 36
1 * 7 = 7 2 * 7 = 14 3 * 7 = 21 4 * 7 = 28 5 * 7 = 35 6 * 7 = 42 7 * 7 = 49
1 * 8 = 8 2 * 8 = 16 3 * 8 = 24 4 * 8 = 32 5 * 8 = 40 6 * 8 = 48 7 * 8 = 56 8 * 8 = 64
1 * 9 = 9 2 * 9 = 18 3 * 9 = 27 4 * 9 = 36 5 * 9 = 45 6 * 9 = 54 7 * 9 = 63 8 * 9 = 72 9 * 9 = 81