Python编程基础:顺序结构、循环结构、程序跳转语句、pass空语句

本文主要是介绍Python编程基础:顺序结构、循环结构、程序跳转语句、pass空语句,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Python是一种简单而强大的编程语言,它提供了多种结构和语句,使得程序编写变得更加灵活和高效。在本文中,将介绍Python中的顺序结构、循环结构、程序跳转语句以及pass空语句,并解释如何正确使用它们。

目录

  • 程序的描述方式
    • 自然语言
    • 流程图
    • 伪代码
  • 程序的组织结构
    • 顺序结构
    • 选择结构
    • 循环结构for与while
  • 程序跳转语句
    • break和continue
    • pass空语句
  • 总结
    • 本章总结
    • 习题讲解

程序的描述方式

自然语言

自然语言:就是使用人类语言,直接描述程序,比如说要去计算一个圆的周长和面积,就可以使用之前所学过的IPO方式去进行描述。

在这里插入图片描述

流程图

流程图:是用一系列图形、流程线和文字描述程序的基本操作和控制流程,主要适用于较短的算法。

在这里插入图片描述
在这里插入图片描述

伪代码

伪代码:是介于自然语言和编程语言之间的一种算法描述语言,如果程序比较小,可以直接使用代码描述。

在这里插入图片描述

程序的组织结构

在这里插入图片描述

顺序结构

顺序结构:按程序语句的自然顺序,从上到下,依次执行每条语句的程序,它是程序当中最基本的语句。

在这里插入图片描述

在这里插入图片描述

# 顺序结构
# 赋值运算符的顺序,从右到左,先计算右侧的结果,再赋值给左侧的变量
name='摔跤猫子'
age=20
a=b=c=d=100 # 链式赋值
a,b,c,d='摔跤猫子' # 字符串分解赋值
print(a)
print(b)
print(c)
print(d)
print('----------典型的顺序结构:输入/输出语句----------')
name=input('请输入您的姓名:')
age=eval(input('请输入您的年龄:'))
print('您的姓名为:',name,',您的年龄为:',age)

选择结构

选择结构:也称分支结构,是按照条件选择执行不同的代码段。

在这里插入图片描述
在这里插入图片描述

# 单分支结构if
number=eval(input('请输入您的6位中奖号码:'))
# 使用if语句
if number==987654: # 等值判断print('恭喜您,中奖了!')
if number!=987654:print('您未中奖!')
print('以上if判断的表达式,是通过比较运算符计算出来的,结果是布尔值类型')n=98 # 赋值操作
if n%2: # 98%2的余数是0,0的布尔值是False,非0的布尔值是Trueprint(n,'是奇数') # 由于98和2的余数是0,所以改行代码不执行if not n%2: # not False的结果为Trueprint(n,'是偶数')print('----------判断一个字符串是否是空字符串----------')
x=input('请输入一个字符串:')
if x: # 在Python中一切皆对象,每个对象都有一个布尔值,而非空字符串的布尔值为True,空字符串的布尔值为Falseprint('x是一个非空字符串')if not x: # 空字符串的布尔值为False,取反,not False的值为Trueprint('x是一个空字符串')print('----------表达式也可以是一个单纯的布尔型变量----------')
flag=eval(input('请输入一个布尔类型的值:True或False'))
if flag:print('flag的值为True')
if not flag:print('flag的值为False')

使用if语句时,如果语句块中只有一句代码,可以将语句块直接写在冒号的后面。

在这里插入图片描述

a=10
b=5
if a>b:max=a # 语句块只有一句,赋最大值
print('a和b的最大值为:',max)

双分支结构:if...else...语法结构

在这里插入图片描述
在这里插入图片描述

# 双分支结构
number = eval(input('请输入您的6位中奖号码:'))
# if..else...
if number==123456:print('恭喜您中奖了')
else:print('您未中奖')# 以上代码可以使用条件表达式进行简化
print('恭喜您中奖了' if number==123456 else '您未中奖')

多分支结构

在这里插入图片描述

# 多分支结构
score=eval(input('请输入您的成绩:'))
if score<0 or score>100:print('请输入正确的成绩。')
elif 0<=score<60:print('成绩为E')
elif 60<=score<70:print('成绩为D')
elif 70<=score<80:print('成绩为C')
elif 80<=score<90:print('成绩为B')
else:print('成绩为A')

在这里插入图片描述

嵌套if的使用。

在这里插入图片描述
在这里插入图片描述

# 嵌套if的使用
answer=input('请问您喝酒了吗?')
if answer=='y': # 表示喝酒了proof=eval(input('请输入酒精含量:'))if proof<20:print('暂未构成酒驾,祝您一路顺风')elif proof<80:print('已构成酒驾,请下车')else:print('已构成醉驾,请下车')
else:print('你走吧,没你事了')

使用and连接多个选择条件。

在这里插入图片描述在这里插入图片描述

userName=input('请输入您的用户名:')
pwd=input('请输入您的密码:')
if userName == '摔跤猫子' and pwd == '123':print('验证通过')
else:print('账号或密码错误')

使用or连接多个判断条件。

在这里插入图片描述
在这里插入图片描述

# 使用or连接多个选择条件
score = eval(input('请输入您的分数:'))
if score<0 or score>100:print('请输入正确的分数')
else:print('您的分数为:',score)

Python3.11新特性,模式匹配。

在这里插入图片描述

# Python3.11新特性,模式匹配
score=input('请输入成绩等级:')
match score:case 'A':print('优秀')case 'B':print('良好')case 'C':print('中等')case 'D':print('及格')case 'E':print('不及格')

循环结构for与while

在这里插入图片描述

遍历字符串

for i in '摔跤猫子':print(i)

在这里插入图片描述

range函数,Python中的内置函数,产生一个[n,m]的整数序列,包含n,但是不包含m

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

在这里插入图片描述

# 计算1-10之间的累加和
h=0 # 用于计算累加和的变量
for i in range(1,11):h+=i # 相当于 h=h+iprint('累加和为:',h)

在这里插入图片描述

for…else…结构。

h=0 # 用于计算累加和
for i in range(1,11):h+=i
else:print('1-10之间的累加和为:',h)

在这里插入图片描述

无限循环while,需要注意的是在while循环当中你的初始化变量,条件判断的变量和改变的变量通常都为1个。

在这里插入图片描述
在这里插入图片描述

answer=input('今天要上班吗?请输入[y/n]:')
# 2.条件判断
while answer=='y':# 3.语句块print('早点下班')
# 4.改变变量answer=input('今天要上班吗?请输入[y/n]:')

使用无限循环while计算1-200之间的累加和。

在这里插入图片描述

v=0 # 定义变量存储累加和
# 1.初始化变量
i=1
# 2.条件判断
while i<=200:# 3.语句块v+=i# 4.改变变量i+=1 # 相当于i=i+1
print('1-200之间的累加和为:',v)

无限循环也有一种扩展形式叫做while-else结构,当你在while整个的循环当中全都执行完毕了,中途没有遇到任何break中断循环的情况,那么就可以使用while-else结构了。

在这里插入图片描述

v=0 # 定义变量存储累加和
# 1.初始化变量
i=1
# 2.条件判断
while i<=200:# 3.语句块v+=i# 4.改变变量i+=1 # 相当于i=i+1
else:print('1-200之间的累加和为:',v)

使用while循环模拟用户登录,在进行登录操作的时候,除了输入用户名和密码之外,再给它设置三次机会,三次均输入错误后就没办法登录系统了,三次之内,只要正确一次即通过

在这里插入图片描述

# 1.初始化变量
i=0
# 2.条件判断
while i<3:# 3.语句块userName=input('请输入用户名:')pwd=input('请输入密码:')# 登录操作if userName=='摔跤猫子' and pwd=='123':print('登录成功')# 需要改变循环变量,目的是为了退出循环i=4 # 退出while循环else:if i<2:print('用户名或密码错误,您还有',2-i,'次机会!')# 改变变量i+=1 # 相当于i=i+1
if i==3: # 当用户名或密码三次输错时,循环结束,进行提示print('账号已冻结,请联系管理员进行解封')

循环结构也可以互相嵌套,在一个循环结构中嵌套另外一个完整的循环结构就称为嵌套循环。理论上是可以无限嵌套的,但是在实际开发中,建议不要超过三层,因为在嵌套循环结构当中,内层循环实际上是在给外层循环做语句块部分的。

在这里插入图片描述

长方形和直角三角形的输出。

在这里插入图片描述

# 三行四列 长方形
for i in range(1,4): # 通过最外层循环 控制行数for j in range(1,5): # 内层循环控制打印的列数print('*',end='')print() # 空的print语句,作用是换行
print('----------------------------------------')
# 直角三角形
for i in range(1,6):for j in range(1,i+1):print('*',end='')print()

在这里插入图片描述

倒三角形。

for i in range(1,6):for j in range(1,7-i):print('*',end='')print()

在这里插入图片描述

等腰三角形。

在这里插入图片描述

for i in range(1,6): # 外层循环 执行五行for j in range(1,6-i): # 打印倒三角形print(' ',end='')for k in range(1,i*2): # 打印等腰三角形print('*',end='')print()

菱形

在这里插入图片描述

row=eval(input('请输入菱形的行数:'))
while row%2==0: # 判断行数的奇偶性,行数是偶数,重新输入# print('请重新输入菱形的行数:')row = eval(input('行数是偶数,请重新输入菱形的行数:'))
# 输出菱形
top_row=(row+1)//2 # 上半部分的行数
for i in range(1,top_row+1):for j in range(1,top_row+1-i): # 打印倒三角形print(' ',end='')for k in range(1,i*2): # 打印等腰三角形print('*',end='')print()
# 菱形下半部分
bottom_row=row//2 # 下半部分的行数
for i in range(1,bottom_row+1):for j in range(1,i+1):print(' ',end='')# 倒三角for j in range(1,2*bottom_row-2*i+2):print('*',end='')print()

空心菱形,它的最左侧和它的最右侧是*,其他的地方都是由空格组成。

在这里插入图片描述

row=eval(input('请输入菱形的行数:'))
while row%2==0: # 判断行数的奇偶性,行数是偶数,重新输入# print('请重新输入菱形的行数:')row = eval(input('行数是偶数,请重新输入菱形的行数:'))
# 输出菱形
top_row=(row+1)//2 # 上半部分的行数
for i in range(1,top_row+1):for j in range(1,top_row+1-i): # 打印倒三角形print(' ',end='')for k in range(1,i*2): # 打印等腰三角形if k==1 or k==i*2-1:print('*',end='')else:print(' ',end='')print()
# 菱形下半部分
bottom_row=row//2 # 下半部分的行数
for i in range(1,bottom_row+1):for j in range(1,i+1):print(' ',end='')# 倒三角for k in range(1,2*bottom_row-2*i+2):if k==1 or k==2*bottom_row-2*i+2-1:print('*',end='')else:print(' ',end='')print()

程序跳转语句

break和continue

在这里插入图片描述

程序跳转语句break在while无限循环中的使用。非正常结束不会执行else部分,当循环完整的执行完成之后,在整个的过程当中没有遇到任何break的时候会执行else部分。

在这里插入图片描述

z=0 # 定义一个变量存储累加和
i=1 # 初始化变量
while i<11: # 条件判断z+=i # 语句块if z>20:print('累加和大于20的当前数是:',i)breaki+=1 # 改变变量print('------------------')
i=0 # 初始化变量,统计登录的次数
while i<3: # 条件判断userName = input('请输入用户名:')pwd = input('请输入密码:')if userName=='摔跤猫子' and pwd =='123':print('登录成功')breakelse:if i <2:print('用户名或密码不正确,您还有',2-i,'次机会')i+=1 # 改变变量
else:print('账号已冻结')

break在遍历循环当中的使用。

在这里插入图片描述

程序就输出了一个摔跤,因为循环的时候它发现摔跤和猫不相等,if条件判断不成立,直接进行输出,输出完成之后又回到循环的判断处,从字符串中把猫取出来赋值给i,然后拿i再进行匹配,条件为true并执行了break,后续的代码都不再进行执行,循环结束。

在这里插入图片描述

for i in '摔跤猫子':if i == '猫':breakprint(i)

通过遍历循环判断用户名和密码

在这里插入图片描述

for i in range(3):userName = input('请输入用户名:')pwd = input('请输入密码:')if userName=='摔跤猫子' and pwd =='123':print('登录成功')breakelse:if i <2:print('用户名或密码不正确,您还有',2-i,'次机会')i+=1 # 改变变量
else:print('账号已冻结')

除了break语句之外还有一个跳转语句,就是continue,它跟break作用不同,break是用于退出循环结构,continue的作用是用于跳出本次循环。

在这里插入图片描述

计算1-100之间的偶数和。

在这里插入图片描述

z=0 # 定义一个变量存储累加和
i=0 # 初始化变量
while i<=100: # 条件判断# 语句块if i%2==1: # 奇数i+=1continue # 不再执行后面的代码# 累加求和的代码z+=ii+=1
print('1-100之间的偶数和为:',z)

在这里插入图片描述

continue在for循环当中的使用

在这里插入图片描述

s=0
for i in range(1,101):if i % 2 == 1:  # 奇数continues+=i
print('1-100之间的偶数和为:',s)

pass空语句

pass是Python中的保留字,在语法结构中只起到占位符作用。

在这里插入图片描述

如果只写一个if True会报错,因为没有写语句块,写一个pass后,语法结构就准确了。

在这里插入图片描述
在这里插入图片描述

总结

本章总结

  • 程序的描述方式有三种:自然语言、流程图和伪代码;
  • 程序的组织结构有三种:顺序结构、选择结构(分支结构)、循环结构;
  • 选择结构分单分支结构(if)、双分支结构(if...else...)和多分支结构(if...elif...else...);
  • Python3.11新特性模式匹配match...case...结构;
  • 循环结构有两种:遍历循环for和无限循环while
  • if结构可以互相嵌套,循环结构也可以互相嵌套,建议最多不超过三层;
  • breakcontinue只能用在循环结构中,break用于退出整个循环结构,continue用于结束本次循环而进入下一次循环;
  • 空语句pass起到占位符的作用,使语法结构完整、不报错。

习题讲解

📄1:以下选项符合Python语法要求且能够正常执行的是?
⬜️A:min=x if x<y=y
B:min=x if x<y else y
⬜️C:if(x>y) print(x)
⬜️D:min=x>y?x:y

📄2:下面代码的输出结果是?

在这里插入图片描述
⬜️A:0
⬜️B:1
C:1,3,5,7
⬜️D:0,2,4,6

📄3:以下选项中不能退出循环的是?
在这里插入图片描述
A:2
⬜️B:3
⬜️C:4
⬜️D:5

📄4:下面代码输出的图形是?
在这里插入图片描述
A:在这里插入图片描述

⬜️B:3

⬜️C:4

⬜️D:5

📄5:下面代码的输出结果是?

在这里插入图片描述
⬜️A:0
B:10
⬜️C:11
⬜️D:15

📄6:下面代码的输出结果是?
在这里插入图片描述
⬜️A:Welcome
B:Welcome to
⬜️C:BeiJing
⬜️D:Welcome to BeiJing

📄7:下面代码的输出结果是?
在这里插入图片描述

⬜️A:ppyytthhoonn
⬜️B:python
⬜️C:ppyytt
D:ppyytthoonn

📄8:以下程序中,while循环的执行次数是?

在这里插入图片描述
⬜️A:10次
⬜️B:4次
C:死循环
⬜️D:5次

这篇关于Python编程基础:顺序结构、循环结构、程序跳转语句、pass空语句的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/570356

相关文章

python: 多模块(.py)中全局变量的导入

文章目录 global关键字可变类型和不可变类型数据的内存地址单模块(单个py文件)的全局变量示例总结 多模块(多个py文件)的全局变量from x import x导入全局变量示例 import x导入全局变量示例 总结 global关键字 global 的作用范围是模块(.py)级别: 当你在一个模块(文件)中使用 global 声明变量时,这个变量只在该模块的全局命名空

好题——hdu2522(小数问题:求1/n的第一个循环节)

好喜欢这题,第一次做小数问题,一开始真心没思路,然后参考了网上的一些资料。 知识点***********************************无限不循环小数即无理数,不能写作两整数之比*****************************(一开始没想到,小学没学好) 此题1/n肯定是一个有限循环小数,了解这些后就能做此题了。 按照除法的机制,用一个函数表示出来就可以了,代码如下

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟&nbsp;开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚&nbsp;第一站:海量资源,应有尽有 走进“智听

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

usaco 1.3 Mixing Milk (结构体排序 qsort) and hdu 2020(sort)

到了这题学会了结构体排序 于是回去修改了 1.2 milking cows 的算法~ 结构体排序核心: 1.结构体定义 struct Milk{int price;int milks;}milk[5000]; 2.自定义的比较函数,若返回值为正,qsort 函数判定a>b ;为负,a<b;为0,a==b; int milkcmp(const void *va,c

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

nudepy,一个有趣的 Python 库!

更多资料获取 📚 个人网站:ipengtao.com 大家好,今天为大家分享一个有趣的 Python 库 - nudepy。 Github地址:https://github.com/hhatto/nude.py 在图像处理和计算机视觉应用中,检测图像中的不适当内容(例如裸露图像)是一个重要的任务。nudepy 是一个基于 Python 的库,专门用于检测图像中的不适当内容。该