python程序的三种执行结构
一、分支结构:根据条件判断的真假去执行不同分支对应的子代码
1.1 if判定
完整语法如下:
if 条件1: #条件可以是任意表达式,如果条件1为True,则依次执行代码。
代码1
代码2
...
elif 条件2:#如果条件2为True,则依次执行代码。
代码3
代码4
...
else: #如果是其他情况,则依次执行代码。
代码5
代码6
...
语法特点:
score=input('>>: ')
score=int(score)
if score >= 90:
print('优秀')
elif score >= 80:
print('良好')
elif score >= 70:
print('普通')
else:
print('很差')
if 嵌套举例:
age_of_girl=20
height=165
weight=99
is_pretty=True
success=False if age_of_girl >= 18 and age_of_girl < 22 and height > 160 and weight < 100 and is_pretty == True:
if success:
print('你好!')
else:
print('我喜欢你')
else:
print('阿姨好')
二、循环结构:重复执行某段代码块
2.1 while 循环
2.11循环的步骤:
步骤1:如果条件为真,那么依次执行:代码1、代码2、代码3、......
步骤2:执行完毕后再次判断条件,如果条件为True则再次执行:代码1、代码2、代码3、......,如果条件为False,则循环终止
2.12语法结构:
while 条件:
代码1
代码2
代码3
举例:
username = "marsha"
password = "123456"
count = 0 # 记录错误验证次数,避免重复代码
while count < 3:
inp_name = input("请输入用户名:")
inp_pwd = input("请输入密码:")
if inp_name == username and inp_pwd == password:
print("登陆成功")
else:
print("输入的用户名或密码错误!")
count += 1
2.13 结束while循环的方式
A: while循环 + break # break 用于结束本层循环,要结束几层循环就要用几个break
username = "marsha"
password = "123456"
count = 0
while count < 3: # 第一层循环
inp_name = input("请输入用户名: ")
inp_pwd = input("请输入密码: ")
if inp_name == username and inp_pwd == password:
print("登陆成功")
while True: # 第二层循环
cmd = input('>>: ')
if cmd == 'quit':
break # 用于结束本层循环,即第二层循环
print('run <%s>' % cmd)
break # 用于结束本层循环,即第一层循环
else:
print("输入的用户名或密码错误!")
count += 1
B: break循环 +continue : # continue用于结束本次循环
number=11 # 打印1到10之间,除7以外的所有数字
while number>1:
number -= 1
if number==7:
continue # 结束本次循环
print(number)
C: break循环 +tag #在循环中用同一个变量tag,如果tag为True,则继续,如果tag为False,就可以在某一层直接退出所用层的循环。
username = "marsha"
password = "123456"
count = 0
tag = True
while tag:
inp_name = input("请输入用户名:")
inp_pwd = input("请输入密码:")
if inp_name == username and inp_pwd == password:
print("登陆成功")
while tag:
cmd = input('>>: ')
if cmd == 'quit':
tag = False # tag变为False, 所有while循环的条件都变为False
break
print('run <%s>' % cmd)
break # 用于结束本层循环,即第一层循环
else:
print("输入的用户名或密码错误!")
count += 1
D: break循环+else # 当while 循环正常执行完并且中间没有被break 中止的话,就会执行else后面的语句,所以我们可以用else来验证,循环是否正常结束
count = 0
while count <= 5 :
count += 1
print("Loop",count)
else:
print("没有被break打断,else 正常运行了")
count = 0
while count <= 5 :
count += 1
if count == 3:
break
print("Loop",count)
else:
print("见不到我了") #被break 打断,else 不会运行了
2.2 for循环: #在循环取值(即遍历值)时for循环比while循环的使用更为简洁
2.21语法结构:
for 变量名 in 可迭代对象: # 可迭代对象可以是字符串\列表\字典
代码一
代码二
...
举例:
for count in range(6): # range(6)会产生从0-5这6个数
print(count)
for k in {'name':'marsha','age':49,'gender':'male'}: # for 循环默认取的是字典的key赋值给变量名k
print(k)
#请用for循环嵌套的方式打印如下图形:
*****
*****
***** for i in range(3):
for j in range(5):
print("*",end='')
print() # print()表示换行
#请用for循环打印九九乘法表 for i in range(1,10):
for j in range(1,i+1):
print('%s*%s=%s' %(i,j,i*j),end=' ')
print()
#请用for循环打印金字塔 # 分析
'''
#max_level=5
* # current_level=1,空格数=4,*号数=1
*** # current_level=2,空格数=3,*号数=3
***** # current_level=3,空格数=2,*号数=5
******* # current_level=4,空格数=1,*号数=7
********* # current_level=5,空格数=0,*号数=9 # 数学表达式
空格数=max_level-current_level
*号数=2*current_level-1
''' # 实现:
max_level=5
for current_level in range(1,max_level+1):
for i in range(max_level-current_level):
print(' ',end='') #在一行中连续打印多个空格
for j in range(2*current_level-1):
print('*',end='') #在一行中连续打印多个空格
print()
2.22 for循环与break\continue的使用同while
三、顺序结构(略)
python程序的三种执行结构的更多相关文章
- python程序的三种控制结构
程序的三种控制结构 什么是控制结构? """ 程序有三种基本结构组成:顺序结构.分支结构.循环结构.任何程序都是由这三种基本结构组成. 顺序结构是程序按照线性顺序依次执行 ...
- C语言程序的三种基本结构
1.程序结构:在C语言程序中,一共有三种程序结构:顺序结构.选择结构(分支结构).循环结构: 顺序结构:从头到尾一句接着一句的执行下来,直到执行完最后一句: 选择结构:到某个节点后,会根据一次判断的结 ...
- 操作系统+编程语言的分类+执行python程序的两种方式+变量
1.什么是操作系统? 操作系统就是一个协调\管理\控制计算机硬件资源与软件资源的一个控制程序. 2.为何要操作系统? a.把复杂的硬件操作封装成简单的功能\接口用来给用户或者程序来使用(文件) b.把 ...
- day05-1 执行Python程序的两种方式
目录 执行Python程序的两种方式 第一种:交互式 第二种:命令行式 三个步骤 两种方式的区别 执行Python程序的两种方式 第一种:交互式 在cmd中运行 优点:直接给出结果,执行效率高,及时报 ...
- 执行Go程序的三种方式及Go语言关键字
执行 Go 程序的三种方式及 Go 语言关键字 执行 Go 程序的三种方式 一.使用 go run 命令 二.使用 go build 命令 Step1. 对 go 源码源文件执行 go build 命 ...
- 周一02.3运行python程序的两种方式
一.运行python程序的两种方式 方法一:交互式: 优点:输入一行代码立刻返回结果 缺点:无法永久保存代码 方法二: ...
- linux系统编程之信号(八):三种时间结构及定时器setitimer()详解
一,三种时间结构 time_t://seconds struct timeval { long tv_sec; /* seconds */ long tv_usec; /* microsecond ...
- 【C语言入门教程】3.1 程序的 3 种基本结构
程序设计是一个问题求解的过程,解决问题的步骤可看作是程序的控制结构.简单地说,程序的运行过程就是数据输入.数据处理.数据输出 3 个步骤.其中,数据处理过程是否快捷和准确,主要依赖于程序控制结构的设计 ...
- Tomcat部署发布JSP应用程序的三种方法 (转)
Tomcat部署发布JSP应用程序的三种方法 1.直接放到Webapps目录下 Tomcat的Webapps目录是Tomcat默认的应用目录,当服务器启动时,会加载所有这个目录下的应 ...
随机推荐
- docker 介绍及安装操作
docker 介绍及安装操作 1.docker概述 2.docker安装及操作 1.docker概述: Docker是一个开源的应用容器引擎,基于go语言开发并遵循了apache2.0协议开源 是在L ...
- python官网导航翻译
- 适用于小白:VSCode搭建Vue项目,最详细的搭建步骤哦
在vscode上搭建一个vue项目---初学总结. 1.假设Vscode.nodejs等已经安装好了. 2.全局安装vue-cli,vue-cli可以帮助我们快速构建Vue项目. 安装命令: npm ...
- ssh一段时间无操作后自动断开连接(假死)问题
平时使用ssh远程服务器的时候(注:远程虚拟机一般不会有这个问题),一段时间没有操作,ssh连接就会处于假死状态,以至于需要重新进行ssh连接,不管你用的什么远程工具都会出现这个问题,那么通过心跳检测 ...
- LAMP环境下部署项目管理软件--禅道
禅道与Jira的对比 禅道最大的特色是创造性的将产品.项目.测试这三者的概念明确分开,互相配合,又互相制约.通过需求.任务.bug来进行交相互动,最终通过项目拿到合格的产品. Jira设计以项目为主线 ...
- Spring Boot数据访问之动态数据源切换之使用注解式AOP优化
在Spring Boot数据访问之多数据源配置及数据源动态切换 - 池塘里洗澡的鸭子 - 博客园 (cnblogs.com)中详述了如何配置多数据源及多数据源之间的动态切换.但是需要读数据库的地方,就 ...
- .NET 云原生架构师训练营(权限系统 代码重构)--学习笔记
目录 模块拆分 代码重构 模块拆分 代码重构 AuthenticationController PermissionController IAuthorizationMiddlewareResultH ...
- OpenStack、虚拟机以及和当前流行的k8s、Docker四者之间的关系
一.OpenStack与虚拟机之间的关系 OpenStack使用Python语言开发,是虚拟资源管理工具,他可以协助你搜集各种资源,并加以利用以及管理,实现物理资源的高效使用和安全.虚拟化物理机这个动 ...
- c++基础的记录(随笔记录一些基础的东西)
1.父类的析构函数为什么要加上virtual关键字. 比如说,父类A,子类B.在A* a = new B()的语句的时候,如果父类析构函数没有virtual,我们在delete指针a的时候,会走父类的 ...
- 常用环境变量配置(vim /etc/profile)
安装,参考:https://www.cnblogs.com/uncleyong/category/1457906.html # jdk export JAVA_HOME=/usr/local/jdk1 ...