一、分支结构:根据条件判断的真假去执行不同分支对应的子代码

1.1 if判定

完整语法如下:

if 条件1:  #条件可以是任意表达式,如果条件1为True,则依次执行代码。
代码1
代码2
...
elif 条件2:#如果条件2为True,则依次执行代码。
代码3
代码4
...
else: #如果是其他情况,则依次执行代码。
代码5
代码6
...

语法特点:

1、python用相同缩进(4个空格表示一个缩进)来标识一组代码块,同一组代码会自上而下依次运行 。
2、条件可以是任意表达式,但执行结果必须为布尔类型,在if判断中所有的数据类型也都会自动转换成布尔类型
3、None,0,空(空字符串,空列表,空字典等)三种情况下转换成的布尔值为False
 
    举例:
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程序的三种执行结构的更多相关文章

  1. python程序的三种控制结构

    程序的三种控制结构 什么是控制结构? """ 程序有三种基本结构组成:顺序结构.分支结构.循环结构.任何程序都是由这三种基本结构组成. 顺序结构是程序按照线性顺序依次执行 ...

  2. C语言程序的三种基本结构

    1.程序结构:在C语言程序中,一共有三种程序结构:顺序结构.选择结构(分支结构).循环结构: 顺序结构:从头到尾一句接着一句的执行下来,直到执行完最后一句: 选择结构:到某个节点后,会根据一次判断的结 ...

  3. 操作系统+编程语言的分类+执行python程序的两种方式+变量

    1.什么是操作系统? 操作系统就是一个协调\管理\控制计算机硬件资源与软件资源的一个控制程序. 2.为何要操作系统? a.把复杂的硬件操作封装成简单的功能\接口用来给用户或者程序来使用(文件) b.把 ...

  4. day05-1 执行Python程序的两种方式

    目录 执行Python程序的两种方式 第一种:交互式 第二种:命令行式 三个步骤 两种方式的区别 执行Python程序的两种方式 第一种:交互式 在cmd中运行 优点:直接给出结果,执行效率高,及时报 ...

  5. 执行Go程序的三种方式及Go语言关键字

    执行 Go 程序的三种方式及 Go 语言关键字 执行 Go 程序的三种方式 一.使用 go run 命令 二.使用 go build 命令 Step1. 对 go 源码源文件执行 go build 命 ...

  6. 周一02.3运行python程序的两种方式

    一.运行python程序的两种方式 方法一:交互式:                     优点:输入一行代码立刻返回结果                      缺点:无法永久保存代码 方法二: ...

  7. linux系统编程之信号(八):三种时间结构及定时器setitimer()详解

    一,三种时间结构 time_t://seconds   struct timeval { long tv_sec; /* seconds */ long tv_usec; /* microsecond ...

  8. 【C语言入门教程】3.1 程序的 3 种基本结构

    程序设计是一个问题求解的过程,解决问题的步骤可看作是程序的控制结构.简单地说,程序的运行过程就是数据输入.数据处理.数据输出 3 个步骤.其中,数据处理过程是否快捷和准确,主要依赖于程序控制结构的设计 ...

  9. Tomcat部署发布JSP应用程序的三种方法 (转)

    Tomcat部署发布JSP应用程序的三种方法     1.直接放到Webapps目录下      Tomcat的Webapps目录是Tomcat默认的应用目录,当服务器启动时,会加载所有这个目录下的应 ...

随机推荐

  1. AFN框架

    0.AFN框架基本使用 0.1 AFN内部结构 AFN结构体 - NSURLConnection + AFURLConnectionOperation(已经被废弃) + AFHTTPRequestOp ...

  2. Maven警告解决:Using platform encoding (UTF-8 actually)

    感谢原文作者:Scorpip_cc 原文链接:https://www.jianshu.com/p/9c8c01f6bebc 执行Maven Install打包的时候,提示以下警告信息: [WARNIN ...

  3. Shell数组以及排序算法(冒泡、直接选择、反转)

    Shell数组以及排序算法(冒泡.直接选择.反转) 目录 Shell数组以及排序算法(冒泡.直接选择.反转) 一.数组概述 1. 数组的定义 2. 下标的定义 3. 数组的特点 4. 数组定义的方法 ...

  4. Java读写文件常用方法

    一.字符流:读写纯文本(txt,csv等), 1 字符流写文件主要用:FileWriter,BufferedWriter,PrintWriter 1.1 测试 FileWriter 写入 privat ...

  5. traceback.print_exc()的用法

    Python使用traceback.print_exc()来代替print e 来输出详细的异常信息   [python] view plain copy try: 1/0 except Except ...

  6. nginx 配置文件与日志模块

    内容概要 Nginx 虚拟主机 基于多 IP 的方式 基于多端口的方式 基于多域名的方式 日志配置(日志格式详解) Nginx 访问控制模块(可以去 Nginx.org 文档 documentatio ...

  7. Solution -「ARC 124E」Pass to Next

    \(\mathcal{Description}\)   Link.   有 \(n\) 个人站成一个环,初始时第 \(i\) 个人手里有 \(a_i\) 个球.第 \(i\) 个人可以将自己手中任意数 ...

  8. ELK-EFK-v7.12.0日志平台部署

    ELK和EFK是什么 ELK和EFK是四个开源产品的组合: Elasticsearch 一个基于Lucene搜索引擎的NoSQL数据库 Logstatsh 一个日志管道工具,接受数据输入,执行数据转换 ...

  9. c++编译加执行脚本

    python 脚本 1 #! /usr/bin/python 2 3 import os 4 5 msg = os.popen("g++ test.cpp").read(); 6 ...

  10. Java全栈学习路线、学习资源和面试题一条龙

    肝了一个月,终于把Java学习路线.面试题资源和电子书资源都整理好了. Java 从基础到微服务的学习路线,其中还包括科班知识.学习建议.后续的学习引导和相应的学习资源(视频.书籍.网站),还整理了J ...