Python基础知识-流程控制

简介: Python基础知识-流程控制

流程控制


流程控制常用的是条件分支流程的if/else语句和循环控制的while语句。


1.条件分支流程


当达到某种条件的时候才会触发的代码。

(1)语法1

if 布尔表达式: #如果为真则执行内部的代码块
  代码块


布尔表达式的结果只有两个,要么真,要么假,如果是真的,那么就执行if语句里面的代码块,否则就跳过不执行。

例子:

a = 10
b = 20
if a < b:
    print("真的")
if a > b:
    print("假的")


执行结果:

真的


从这里可以看出第一个if语句里面的布尔表达式(a<b)为真,所以执行了里面的代码块print(“真的”),而第二个if语句里面的布尔表达式(a>b)是假的,所以里面的代码块没有被执行,所以不输出“假的”两字。


(2)语法2

常用的if/else语句,语法如下:

if 布尔表达式:
  代码块
else:
  代码块


判断的逻辑是如果布尔表达式为真,则执行if内部的代码块,如果为假则执行else内部的代码。

例子:

a = 10
b = 20
if a > b:
    a = 30
    print(a)
else:
    print(1111)


执行结果:

1111


(3)语法3

if 布尔表达式1:
  代码块
elif 布尔表达式2:
  代码块
elif 布尔表达式3:
  代码块
....
else:
  代码块


逻辑是如果布尔表达式为真,则执行if内部的代码块,如果为假则执行else内部的代码,这个语法适用于多个连续条件判断。

例子:

s = int(input("请输入分数:"))
if 80 >= s >= 60:
    print("及格")
elif 80 < s <= 90:
    print("优秀")
elif 90 < s <= 100:
    print("非常优秀")
else:
    print("不及格")


随意输入100以内的数字,不同区间内的数字结果是不一样的,例如92,执行结果为:

请输入分数:92
非常优秀
10


(4)语法4

这里可以将前面所讲的if/elif/else进行嵌套使用,来达到我们想要的目的。

例子

s = int(input("请输入分数:"))
if 80 >= s >= 60:
    print("及格")
elif 80 < s <= 90:
    print("优秀")
elif 90 < s <= 100:
    print("非常优秀")
else:
    print("不及格")
    if s > 50:
        print("你的分数在60分左右")
    else:
        print("你的分数低于50分")


随意输入数字,比如说55,执行结果:

请输入分数:55
不及格
你的分数在60分左右

2.循环流程


在前面我们讲过的流程控制语句的功能还是比较有限,比如说只能执行1次,要执行多次就得多写几个,有点麻烦,所以我们需要学习循环流程里面的循环语句,它的作用就是重复运行某些代码。


(1)while循环

语法:

while 布尔表达式: 
  代码块

只要条件(布尔表达式)为真就执行里面的代码块。

举例:

while 4 < 5:
    s = int(input("请输入分数:"))
    if 80 >= s >= 60:
        print("及格")
    elif 80 < s <= 90:
        print("优秀")
    elif 90 < s <= 100:
        print("非常优秀")
    else:
        print("不及格")
        if s > 50:
            print("你的分数在60分左右")
        else:
            print("你的分数低于50分")


运行之后可以多次输入分数,并且永不停息:

请输入分数:56
不及格
你的分数在60分左右
请输入分数:70
及格
请输入分数:


当然这里有1个弊端,代码执行后陷入了死循环,while里面的代码被一直执行,因为4<5永远为真。


所以这里我们可以改善一下代码,不让它永远执行,让它循环执行几次就可以了,这里可以用个变量来作为条件判断,把4<5改成a<5,同时让在while里面实现自加的功能,在while里面代码每执行1次,执行到它那行的时候它加1,这样执行2次while就会跳出来。

a = 3
while a < 5:
    s = int(input("请输入分数:"))
    if 80 >= s >= 60:
        print("及格")
    elif 80 < s <= 90:
        print("优秀")
    elif 90 < s <= 100:
        print("非常优秀")
    else:
        print("不及格")
        if s > 50:
            print("你的分数在60分左右")
        else:
            print("你的分数低于50分")
    a += 1
print(a)
print("while执行结束了")

执行结果:

请输入分数:55
不及格
你的分数在60分左右
请输入分数:65
及格
5
while执行结束了


这里我再给大家举个例子来理解while循环的运用。比如说输入一个整数并计算各个位和,例如输入321,那么各个位之和则为6。

# 请输入一个整数,并计算各个位和 如:321=6
n = int(input("请输入一个整数:"))  # 将字符串转为整型
# sums累加器:m=10 m=10+5
sums = 0
while n != 0:  # 32 #3
    sums = sums + n % 10  # sums=1+2=3+3=6
    n = n // 10  # 32
print(sums)


我输入的2345,执行结果:

请输入一个整数:2345
14


(2)for循环

for循环和while循环都是循环语句,但不一样的点在于for循环是技术循环。

语法:

l=[3,2,1]
for 变量 in 可迭代对象:
  代码块


例子:

l=[3,2,1]
for n in l:
  print("1")


执行:

1
1
1

l是个列表,后面我们会讲,列表里面有3个元素,每执行一次for循环,列表里面的元素就会被赋值给n,直到列表里面没有了元素可赋值,则n就跳出了列表,此时的for循环就不成立了,不执行for里面的代码块。


(3)range

for循环经常会搭配range来使用,range是一个可迭代对象,range的语法如下:

range(start=0,stop,step=1)


start值的是开始下标。range序列里面的所有元素都有下标,第一个元素的下标是0,所以,默认是从0开始。


stop是结束位置。结束的位置下标为(元素个数-1),例如range里面有4个元素,那么结束下标最大为3,大于3则跳出range。


step是步长,如果step是2,那么每次会隔开1个元素,默认步长为1,即每个元素都会取到。

举例:

for i in range(8):  #可以不写star和step,但结束位置一定要写的
    print(i)
print("---------")
for i in range(10, 2, -2):
    print(i)

执行结果:

0
1
2
3
4
5
6
7
---------
10
8
6
4


通过第一个for循环可以看出,range()的第一个元素的下标是从0开始,而不是从1开始;range()可以不写开始下标和步长,但一定得有结束位置;第二个for循环可以看出步长可以为负数,用于递减。


(4)continue

continue的作用是跳过本次循环,后面的循环继续执行,例如:

for i in range(1, 10):
    if i == 5:
        continue
    print(i)


执行结果:

1
2
3
4
6
7
8
9


很明显,i等于5的时候,for循环就跳过去了,本次不再执行里面的代码,重新回到了新的循环。

(5)Break

例如在这里,我们打印从1到10的严重数字,并且如果counter的值等于7,则终止循环。

# python example of break statement
counter = 1
# loop for 1 to 10
# terminate if counter == 7
while counter<=10:
  if counter == 7:
    break
  print(counter)
  counter += 1
print("outside of the loop")

执行结果:

1
2
3
4
5
6
outside of the loop

Python系列基础学习持续更新中!


目录
相关文章
|
6月前
|
测试技术 Python
Python接口自动化测试框架(基础篇)-- 流程控制之循环语句for&while
本文介绍了Python中的循环语句,包括while和for循环的使用,range()函数的运用,以及continue、break和pass关键字的说明,同时提出了关于while循环是否能与成员运算符结合使用的思考。
75 1
Python接口自动化测试框架(基础篇)-- 流程控制之循环语句for&while
|
6月前
|
测试技术 索引 Python
Python接口自动化测试框架(练习篇)-- 数据类型及控制流程(一)
本文提供了Python接口自动化测试中的编程练习,包括计算器、猜数字、猜拳和九九乘法表等经典问题,涵盖了数据类型、运算、循环、条件控制等基础知识的综合应用。
67 1
|
4月前
|
人工智能 IDE 测试技术
使用通义灵码提升Python开发效率:从熟悉代码到实现需求的全流程体验
作为一名Python开发者,我最近开始使用通义灵码作为开发辅助工具。它显著提高了我的工作效率,特别是在理解和修改复杂代码逻辑方面。通过AI编码助手,我能够在短时间内快速上手新项目,实现新需求,并进行代码优化,整体效率提升了60%以上。通义灵码不仅加快了代码生成速度,还增强了代码的健壮性和稳定性。
|
4月前
|
SQL 关系型数据库 数据库
优化Web开发流程:Python ORM的优势与实现细节
【10月更文挑战第4天】在Web开发中,数据库操作至关重要,但直接编写SQL语句既繁琐又易错。对象关系映射(ORM)技术应运而生,让开发者以面向对象的方式操作数据库,显著提升了开发效率和代码可维护性。本文探讨Python ORM的优势及其实现细节,并通过Django ORM的示例展示其应用。ORM提供高级抽象层,简化数据库操作,提高代码可读性,并支持多种数据库后端,防止SQL注入。Django内置强大的ORM系统,通过定义模型、生成数据库表、插入和查询数据等步骤,展示了如何利用ORM简化复杂的数据库操作。
94 6
|
6月前
|
测试技术 Python
Python接口自动化测试框架(基础篇)-- 流程控制之if条件控制
Python中的流程控制语句if条件控制,涵盖了比较运算符、成员运算符、身份运算符、逻辑运算符的使用,if语句的嵌套,以及如何使用input和print函数进行交互式编程练习。
51 1
Python接口自动化测试框架(基础篇)-- 流程控制之if条件控制
|
6月前
|
存储 测试技术 数据格式
Python接口自动化测试框架(练习篇)-- 数据类型及控制流程(二)
本文通过数据类型转换和文件读取的练习,复习了Python中的数据类型、循环、条件判断、内置函数等基础知识,并演示了如何将字符串数据转换为字典列表,以及如何从文本文件中读取和转换数据。
59 1
|
6月前
|
机器学习/深度学习 Ubuntu 数据挖掘
Ubuntu系统部署Anaconda环境及Python语言的详细流程
以上就是在Ubuntu系统中安装Anaconda环境及Python语言的详细流程。Anaconda为Python科学计算提供了便捷的管理方式,帮助用户轻松处理不同项目之间依赖管理的复杂性。通过以上步骤,你现在应该有了一个完全可用的Anaconda环境,可以开始在Ubuntu上进行Python编程和数据科学项目的探索了。
289 5
|
5月前
|
SQL 关系型数据库 MySQL
Python操作pymysql数据库的流程与技巧
在现代软件开发中,Python作为一门高效且易于学习的编程语言,广泛应用于各种场景,其中包括数据库操作。**PyMySQL** 是一个流行的Python数据库接口,用于连接和操作MySQL数据库。它提供了一种简便的方法来执行SQL语句、处理数据和管理数据库事务。以下是使用PyMySQL操作MySQL数据库的流程与技巧,旨在为开发者提供一个清晰、实用的指南。
82 0
|
6月前
|
Python
python学习笔记---流程控制
这篇文章详细介绍了Python中的流程控制,包括选择结构(if、if-else语句、嵌套if语句)和循环语句(while循环、for循环以及for循环与range()函数的使用),以及如何在循环中使用break和continue语句。
python学习笔记---流程控制
|
6月前
|
JSON 数据库 开发者
FastAPI入门指南:Python开发者必看——从零基础到精通,掌握FastAPI的全栈式Web开发流程,解锁高效编码的秘密!
【8月更文挑战第31天】在当今的Web开发领域,FastAPI迅速成为开发者的热门选择。本指南带领Python开发者快速入门FastAPI,涵盖环境搭建、基础代码、路径参数、请求体处理、数据库操作及异常处理等内容,帮助你轻松掌握这一高效Web框架。通过实践操作,你将学会构建高性能的Web应用,并为后续复杂项目打下坚实基础。
221 0

热门文章

最新文章

推荐镜像

更多