一、顺序结构

顺序结构是python脚本程序中基础的结构,它是按照程序语句出现的先后顺序进行依次执行

二、选择结构

选择结构是通过判断某些特定的条件是否满足来决定程序语句的执行顺序

常见的有单分支选择结构、双分支选择结构、多分支以及嵌套选择结构

# ----------------------------------------------------
# 选择结构:通过判断某些特定条件是否满足来决定程序的执行顺序。
# ----------------------------------------------------
# 布尔表达式中常用的操作运算符:<、<=、>、>=、==、!=、in和not in
# 单分支选择结构
a = 100
b = 200
if a < b:
a, b = b, a
print("将a和b进行了交换,a中保存较大的值")
print("a, b:", a, b)

# bool() 将其他值转换为布尔类型
print(bool(1))
print(bool("非空的元素,转换后都为True。"))
print(bool([10, 20]))
#以下执行的结果为False
print(bool(0))
print(bool(""))
print(bool([]))

# 双分支选择结构
student_info1 = ['张晓晓', '女', 12, '七年级']
student_info2 = ['刘烨', '男', 14, '九年级']
name = '刘烨'
if name == '张晓晓':
print(student_info1)
else:
print(student_info2)

# 三元运算符:value1 if condition else value2
student_info = student_info1 if name == '张晓晓' else student_info2
print(student_info)

# 多分支选择结构
score = 88
level = ''
if score >= 95:
level = 'A+'
elif score >= 85:
level = 'A'
elif score >= 75:
level = 'A-'
elif score >= 60:
level = 'B'
else:
level = 'C'
print("Level:", level)

# pass语句-表示程序结构的完整性,占位符
n = 2
if n == 1:
print('Hello python!')
elif n == 2:
pass
elif n == 3:
print('Hello world!')

# 嵌套分支结构
score = 88
level = ''
if score >= 60:
print("通过考核!")
if score >= 80:
level = '优等生'
else:
level = '中等生'
else:
print("未通过考核!")
if score >= 45:
level = '不及格'
else:
level = '低等生'
print("Level:", level)

三、循环结构
循环结构是根据代码的逻辑条件来判断是否重复执行某段程序
在python中主要有两种形式的循环结构:while、for 循环

# ----------------------------------------------------
# 循环结构:根据代码的逻辑条件来判断是否重复执行某一段程序。
# ----------------------------------------------------
# while循环
# 数字猜猜猜
num = 8
guess = -1
score = 100
print("一起来玩数字猜猜猜!")
while guess != num:
guess = int(input("请输入一个数字:"))

if guess == 0:
break #退出循环体

if guess < 0:
continue #退出当前循环,再次进入循环体
if guess == num:
print("恭喜恭喜!猜中了!")
score += 100
elif guess < num:
print("笨笨,猜的数字小了!")
score -= 10
elif guess > num:
print("笨笨,猜的数字大了!")
score -= 10

print("你当前的积分是:", score)
#当while语句False时,执行else语句,如在循环体中执行break语句是不会执行else语句
else:
print("顺利过关")
print("游戏结束!")

# for循环
# range() 生成一个数列
for x in range(10): # 等价于range(0, 10, 1)
print(x)

# 也可以指定一个区间
for y in range(5, 10):
print(y)

# 还可以指定不同的增量
for z in range(20, 100, 10):
print(z)

# 遍历一个序列的索引
cities = ['北京', '天津', '上海', '广州', '深圳', '珠海']
n = 0
for city in cities:
print(n, city)
n += 1
# 遍历循环结束,退出循环体
print("遍历城市列表结束")

for n in range(len(cities)):
print(n, cities[n])
print("遍历城市列表结束")

n = 0
while n < len(cities):
print(n, cities[n])
n += 1
print("遍历城市列表结束")

python -- 程序的结构语句的更多相关文章

  1. python控制语句---循环结构语句

    这次主要把循环结构的控制语句补上,主要包含while.for.continue.break.循环嵌套.主要写一些基本的认识以及包含的一些实例.当只有唯一路径且只跑一次的时候选择上一节中的选择结构语句就 ...

  2. python学习之结构语句

    一 循环语句: 1.1 for x in rang(n) :#rang(n)生成左闭右开区间的序列 1.2 while x 条件n: 二条件语句: if 条件表达式: elif 表达式: elif 表 ...

  3. 教你如何编写、保存与运行 Python 程序

    第一步 接下来我们将看见如何在 Python 中运行一个传统的“Hello World”程序.Python教程本章将会教你如何编写.保存与运行 Python 程序. 通过 Python 来运行的你的程 ...

  4. Python学习笔记(Ⅰ)——Python程序结构与基础语法

    作为微软的粉丝,最后终于向Python低头了,拖了两三个月终于下定决心学习Python了.不过由于之前受到C/C#等语言影响的思维定式,前期有些东西理解起来还是很费了些功夫的. 零.先抄书: 1.Py ...

  5. Python程序结构

    Python程序结构 分支结构 条件语句: if 判断: .....满足判断条件执行的代码块 else: .....不满足判断条件执行的代码块 if 判断1: .....满足判断条件1执行的代码块 e ...

  6. python结构语句(while,if)

    一.基础语法 编码: 默认情况下,Python 3 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串 #!/usr/bin/env python # -*- coding:utf- ...

  7. Python程序结构(sys、os)

    一.Python组成结构 Python程序一般由包package.模块moudle.函数function组成.具体关系如下图:

  8. python基础-10 程序目录结构 学生选课系统面向对象练习

    一 程序目录结构 1 bin文件夹 二进制文件.代码程序  2 conf 配置文件  3 帮助文档  4 头文件库文件等 二 学生选课系统部分代码 未完待续 1 包内的__init__.py文件 在包 ...

  9. 详解Python中的循环语句的用法

    一.简介 Python的条件和循环语句,决定了程序的控制流程,体现结构的多样性.须重要理解,if.while.for以及与它们相搭配的 else. elif.break.continue和pass语句 ...

随机推荐

  1. 激光雷达Lidar Architecture and Lidar Design(下)

    Considerations on Lidar Design 双基地还是单基地? 双轴还是同轴? 几何重叠 向上还是向下看? 关心分散还是只关心时间? 发射器和接收器的波长 是否可调? 发射器和接收器 ...

  2. 【VBA】延时函数

    延时函数(单位秒),例如延时0.5秒 1 Sub 延时() 2 delay (0.5) 3 Debug.Print "延时0.5秒" 4 End Sub 5 6 Sub delay ...

  3. 【NX二次开发】基准特征

    创建基准特征UF_MODL_create_fixed_daxis 创建一个固定的基准轴特征,方向由点1指向点2UF_MODL_create_fixed_dplane 创建一个固定的基准面特征,输入点和 ...

  4. 如何避免Nginx将url decode

    灵感来自:https://my.oschina.net/jastme/blog/528541 这是最近玩微服务架构遇到的一个情况,因为Spring Boot 1.5的网关不支持websocket的转发 ...

  5. Java安全之反序列化回显与内存马

    Java安全之反序列化回显与内存马 0x00 前言 按照我个人的理解来说其实只要能拿到Request 和 Response对象即可进行回显的构造,当然这也是众多方式的一种.也是目前用的较多的方式.比如 ...

  6. Netty 框架学习 —— 添加 WebSocket 支持

    WebSocket 简介 WebSocket 协议是完全重新设计的协议,旨在为 Web 上的双向数据传输问题提供一个切实可行的解决方案,使得客户端和服务器之间可以在任意时刻传输消息 Netty 对于 ...

  7. 20、wordpress博客url静态化

    20.1 wordpress没有实现伪静态时的网页: 20.2进入wordpress后台: 1.设置 2.固定链接 3.自定义链接 /archives/%post_id%.html #%post_id ...

  8. js 对json数据进行检索 插件 linq.js

    有时界面需要很多数据.但是多次访问服务器效率很低,所以需要检索json数据,最好是像sql查询语句那种 linq.js 插件 LINQ,语言集成查询(Language Integrated Query ...

  9. POJ 3026 Borg Maze 广搜(BFS)+最小生成树

    题意:从S出发,去抓每一个A,求总路径最短长度.在S点和A点人可以分身成2人,不过一次只能让一个人走. 思路是先利用BFS求出各点之间的距离,建成图,再套用最小生成树模板. 一次性A了.不过觉得在判断 ...

  10. Vue $refs无法操作element-ui组件

    比如我要操作这个dom元素↓↓↓ <el-badge :value="1" :max="99" class="message"> ...