python流程控制

流程控制

2.1 简介

溪流是从源头顺流而下的

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

  • 顺序结构就是让程序按照从头到尾的顺序执行每一条python代码,不重复执行任何代码,也不跳过任何代码
  • 选择结构也称为分支结构,就是让程序’拐弯’,可以跳过没用的代码,只执行有用的代码
  • 循环结构就是让程序杀个回马枪,不断地重复执行同一段代码

病毒他是一个死循环

if, if…else,if …elif…else,while,for

2.1.1 伪代码

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

根据年龄判断是否成年:

输入一个变量age,并且转化为数字
如果age大于等于18:
	打印成年
如果age小于18,又分为两种情况:
	如果age大于等于12:
    	打印少年
    如果age小于12:
    	打印儿童
age = int(input('请输入你的年龄:'))
if age >= 18:
    print('成年')
else:
    if age >= 12:
        print('少年')
    else:
        print('儿童')
2.1.2 流程图

2.2 分支结构

用Tab字符和其他数目的空格都是可以通过编译的,但是不符合编码规范

if语句,if else语句,if elif else语句

if语句: 在这里回车 他会自动空出四个格子

​ if表达式: 冒号是英文输入法

​ 代码块


if … else…语句:

if表达式:

​ 代码块1

else:

​ 代码块2


if…elif…else语句:

if表达式1:

​ 代码块1

elif表达式2: 否则之后还有条件, elif可以无限使用(无限加elif)

​ 代码块2

elif表达式3:

​ 代码块3

elif表达式4:

​ 代码块4

。。。。。

else:

​ 代码块n

elifelse是不能单独使用,必须和if一起出现,并且要正确配对
表达式可以是一个单一的值或者变量,也可以是由运算符组成的复杂语句,形式不限,只要能得到一个值就行
代码块由具有相同缩进量的若干条语句组成
ifelifelse语句后面都有冒号,一定不要忘记
2.2.1 if语句(单向分支)

如果你满了18岁,就可以进入网吧了

if 判断语句:

​ 判断成立执行的代码块

如果你满了18岁,就可以进入网吧了

if 判断语句:
判断成立执行的代码块

age = int(input('请输入你的年龄:'))
if age >= 18:
    print('恭喜你,可以进入网吧嗨皮了')
2.2.2 if else语句 (双向分支)
age = int(input('请输入你的年龄:'))
if age >= 18:
    print('恭喜你,可以进入网吧嗨皮了')
else:
    print('未成年禁止进入网吧')

2.2.3 if… elif …else 语句(多向分支)

考试成绩
在控制台输入你的成绩
如果你考了90分以上 优秀
如果你考了80分以上 良好
如果你考了70分以上 中等
如果你考了60分以上 合格
否则 不合格

elif如果有一个满足,剩下的条件表达式就不执行,只执行那一个代码块

score = int(input('请输入你的成绩:'))
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('不及格')
2.2.3 if语句嵌套
if 表达式1if 表达式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('不及格')
2.2.4 pass 关键字

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

score = int(input('请输入你的成绩:'))
if 0 <= score <= 100:
    if score >= 90:
        print('优秀')
    elif score >= 80 and score < 90:
        print('良好')
    elif score >= 70 and score < 80:
        pass  #pass 是一个占位符的作用
    elif score >= 60 and score < 70:
        print('及格')
    else:
        print('不及格')
2.2.5 三目运算符

现在有两个数字,获得其中一个较大数字,那么我们可以使用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是一种极简主义的编程语言,使用三目运算可以有效的简化代码

输入一个字符串,如果这个字符串是yes就输出ok,否则就输出原来的那个字符串

s = input('请输入:')
print('ok' if s == 'yes' else s)

2.3 循环结构

循环就是将一段代码不断的重复执行

2.3.1 while循环
if条件表达式:
	代码块
while 条件表达式:
	代码块(循环体)
当条件表达式是False时,循环结束
a = 0
while a < 10:  # 死循环
    print('我是王者')
    a += 1 #a = a + 1
练习:
打印1-100的所有数字
a = 1
while a < 101:
    print(a)
    a += 1
print('循环结束')
2.3.2 for循环
for 变量名 in range(n): 
    循环体

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

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

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

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

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

for循环实现1-100的数字

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

打印1-100的所有偶数

for i in range(0,101,2):
    print(i)

1-100的累加和

sum = 0
for i in range(1,101):
    sum += i
    print(sum)

你的账号是root,你的密码是123

程序运行提示输入账号和密码,如果账号密码输入错误,重新输入账号密码,错误次数最多只有5次,5次输入都不正确则提示账号冻结,结束程序

user = 'root'
pwd = '123'
max = 5  #设置最多错误次数
for i in range(max):
    u = input('请输入账号:')
    p = input('请输入密码:')
    if u == user and p == pwd:
        print('登陆成功')
        break  # 退出循环
    else:
        print('密码错误,请重新输入')

for i in range(1,11):
    u = input('请输入账号:')
    p = input('请输入密码:')
    if i == 6:
        print('账号冻结')
        break
    elif u == 'root' and p == '123':
        print('登陆成功')
        break
    else:
        print('密码错误,请重新输入')
2.3.3 break和continue

break:退出整个循环

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

左手在吃苹果,一共有10个苹果

for i in range(1,11):
    if i == 3:
        print('我吃饱了')
        break
    print('正在吃第'+str(i)+'个苹果')

for i in range(1,11):
    if i == 3:
        print('有虫子')
        continue
    print('正在吃第'+str(i)+'个苹果')
2.3.4 循环嵌套
for i in range(2):
    print('===外层')
    for j in range(5):
        print('=====里层')
        
===外层
=====里层
=====里层
=====里层
=====里层
=====里层
===外层
=====里层
=====里层
=====里层
=====里层
=====里层
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

努力学习的小初雪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值