索引与流程控制

本文介绍了Python中索引的概念,包括从左往右和从右往左的索引方式,以及流程控制的基础,如顺序结构、选择结构(if语句、if-else、if-elif-else)和循环结构(while、for)。通过实例演示了如何运用这些概念判断年龄并执行相应操作。
摘要由CSDN通过智能技术生成

写博客的第三天

今天还是一如既往的废话几句,算了,还是复制粘贴吧

先说几句废话啊,这只是我学习python的笔记记录以及我的理解,仅供参考,哪里讲错了请大佬指点,大佬勿喷!!!

仅供参考!!!

五 、索引

今天先简单说一下索引,索引就是根据下标取值

列如:python

此时要取出python里面的o,可以看到o在第五位,但是从左往右索引从0开始数,不是从1,此时就不是第五位了,而是第四位

在这里插入图片描述

代码如下:

a = 'python'
print(a[4])     # 索引在要索引的后面跟上中括号,括号里面放索引的值

# o

还有另一种索引方法,那就是从右往左,从右往左就不是从0开始了,而是从-1开始,此时从右往左o在第二位,也就是-2

在这里插入图片描述

代码如下:

a = 'python'
print(a[-2])     # 索引在要索引的后面跟上中括号,括号里面放索引的值

# o

六 、流程控制

6.1 简介

python的流程控制主要有哪几种结构:顺序结果、选择结果、循环结构

  • 顺序结构就是让程序按照从头到尾的顺序执行每一条python代码,不重复执行任何代码,也不跳过任何代码
  • 选择结构也成为分支结构,就是让程序“拐弯”,可跳过没用的代码,只执行有用的代码,也就是根据判断走哪条路
  • 循环结构就是重复执行同一段代码

6.1.1 伪代码

必须结构清晰、代码简单、可读性好

以根据年龄判断是否成年为例:

输入一个变量age,并且转换为数字
如果age大于等于18:
	输出成年
如果age小于18,又分为两种情况:
	如果age大于等于12:
		输出少年
	否则就是小于12:
		输出儿童

6.2 分支结构

if语句 、if else语句、 if elif else语句

if语句:

if 判断语句:

​ 代码块


if…else…语句:

if 判断语句:

​ 代码块1

else:

​ 代码块2


if…elif…else语句:

if 判断语句1:

​ 代码块1

elif 判断语句2:

​ 代码块2

elif 判断语句3:

​ 代码块3

。。。。

else:

​ 代码块n

elifelse不能单独使用,必须和if一起出现,并且要正确配对

表达式可以是一个单一的值或者变量,也可以是有运算符组成的复杂语句,形式不限,只要能得到一个值就行
代码块由具有相同缩进量的若干条语句组成
if,elif,else语句后面都有冒号,一定不要忘记

python代码的结构层次一定要分明,一个缩进则代码一个层次,通常是一个tab键,相当于四个空格

6.2.1 if语句(单向分支)

如果你已经满了18岁,就可以进入网吧了
if 判断语句:
    判断成立执行的语句块
    
    
age = int(input("请输入年龄:"))
if age >= 18:
    print("满足条件,可以进入")

6.2.2 if…else…(双向分支)

如果你已经满了18岁,就可以进入网吧了,如果未满18岁,则提示未成年,请不要进入网吧
age = int(input("请输入年龄:"))
if age >= 18:
    print("满足条件,可以进入")
else:
    print("未成年禁止进入网吧")

说明:

​ 用if判断年龄是否大于等于18,如果满足就走if下面的代码,此时else里面的代码则不会走,如果不满足则会走else里面的代码

6.2.3 if…elif…else(多向分支)

elif(或者),多年判断语句逐一判断,哪个条件满足走那条

age = int(input("请输入你的年龄"))	#input接收的类型为字符串,此时要用int转变类型
if age >= 18:
    print('成年')
elif age >= 12: # else后面如果还有同级判断语句,则可以用elif(或者)
    print('少年')
else:
    print('儿童')

说明:

​ 还是一样先走第一条判断语句,如果满足,下面的判断语句则不会走,如果不满足则走下一条判断语句,直到有满足条件的出现,如果都没有满足,就走else下面的代码

6.2.4 if语句嵌套

if 表达式1:
    if 表达式2:
        语句块2
    else:
        语句块3
else:
    语句块1
score = int(input('请输入你的成绩:'))
if 0<=score<=100:
    if score >=90:
        print("优秀")
    elif score>=80 and score<90:
        print("良好")
    elif score>=70 and score<80:
        print("中等")
    elif score>=60 and score<70:
        print("合格")
    else:
        print("不合格")
else:
    print("你输入的有误")

6.2.5 pass关键字的使用

pass相当于占位,没有实际作用

a = 22
if a < 20:
    pass
else:
    print('大于20')

此时如果a小于20,那么就会走if下面的代码 ,由于if下面的代码是pass则什么也不会输出

6.2.6 三目运算符

现在有两个数字,获得其中一个较大数字,那么我们可以使用if else语句

a = 10
b = 5
if a>=b:
    print(a)
else:
    print(b)

此时判断语句较少可以采用三目运算符

a = 10
b = 5
print(a if a>=b else b)

python是一种极简主义的编程语言,使用三目运算可以有效地简化代码

6.3 循环结构

print(hello world)

如果要连续执行这段代码两遍是不是只能写两遍就行了

print("hello world")
print("hello world")

连续敲两遍的确可以实现,那如果是一百遍,一千遍呢

那么此时就可以用到循环,循环就是将一段代码不断地重复执行

6.3.1 while循环

语法:

while 条件表达式:(后面一定要跟英文的冒号)
	要循环的代码

将hello world输出10遍:

a = 0
while a < 10: # 如果a小于10则一直循环
    print(hello world)

那么问题又来了,此时没有代码将a变成10,那么这段代码就会一直循环下去,也就是死循环了,出不来

解决的方法也简单,只要循环一次a就加1,代码如下:

a = 0
while a<10:
    print(hello world)
    a += 1	# a = a+1

6.3.2 for 循环

语法:

for 变量名 in range(n):(后面也要跟英文的冒号)
    循环体

range()是什么?

它的语法是:range(start,stop,step)

start 指的是计数起始值,不写默认是0

stop指的是计数结束值,但不包括stop

step是步长,不写默认为1,不可以为0

range()方法生成一段左闭右开的整数范围

它表示左闭右开区间
他接受的参数必须是整数,可以是负数,但不能是浮点数等其他类型
它是不可变的序列类型,可以进行判断元素、查找元素、切片等操作,但是不能修改元素
它是可迭代对象,却不是迭代器

for 循环实现1-100的数

for i in range(1,101):
    print(i)

上面这段代码是将每次循环的值传给i并且输出,从1开始依次赋值给i,直到100,因为它是左闭右开区间,只会循环到101的前一位,也就是100

输出1-100的偶数,输出偶数就可以用到步长,说步长可能有点难理解,那就简单点理解就是步长是多少就加多少,比如从1开始,步长为2,那就是1+2的结果是下一个循环输出的数,然后用循环输出的数再加步长3+2,以此类推

for i in range(2,101,2):	# 从2开始循环到101前一位,步长为2
	print(i)

1-100的累加和

sum = 0
for i in range(1,101):
    sum += i # sum = sum + i每次循环出来的值加上sum
print(sum)# 这里输出就不用放循环里面,不然就会每次输出sum加上i的值

6.3.3 break和continue

break:退出整个循环

continue:退出本次循环,继续执行下一次循环

break列子:

比如一个房间有5个西瓜,张三贪吃,就走了进去,吃到第三个发现吃饱了,想出去,突然女巫现身逼着张三吃完才能出

for i in range(1,6):# 从第一个开始吃
    if i == 3:  # 张三发现吃完第二个饱了,然后第三个就不想吃了,想逃离
        print('饱了') # 但是女巫把出口变没了
        break   # 此时一个好心人break出现打开了个出口帮助张三逃离
    print('正在吃')
"""
正在吃
正在吃
吃饱了
"""

总结:

张三吃到第三个的时候吃饱了,想出去但是女巫把出口变没了,要张三吃完才给出去,好心人break出现打开了个出口帮助张三逃离

continue例子:

还是熟悉的张三,张三眼前有五个西瓜,饿了两天,要全部吃掉

for i in range(1,5):
    if i == 3:
        print('烂了')
        continue # 吃到第三个的时候发现第三坏了,不吃了丢掉,继续吃下一个
    print('正在吃')

"""
正在吃
正在吃
烂了
正在吃
正在吃
"""

6.3.4 循环嵌套

for i in range(2):
    print("===外层")
    for j in range(5):
        print("=======里层")
        
===外层
=======里层
=======里层
=======里层
=======里层
=======里层
===外层
=======里层
=======里层
=======里层
=======里层
=======里层

代码理解:

循环了一次外层,发现里面还有一个循环,那么就先循环完里层,里层循环完又往外层循环,然后又发现里层又有循环,又循环一次里层

总结:

循环进入到了里面的那一层,如果里面有循环先跑完里面才会跑出去循环

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值