python语法入门之流程控制
python语法入门之流程控制
流程控制是指控制流程,具体指控制程序执行的流程。
流程控制分为三种:
1.顺序结构 程序从上而下的正常执行(正常执行的代码就是顺序结构)
2.分支结构 赋予程序人的思维逻辑进行判断。(用if进行判断)
3.循环结构 让程序进行重复的判断。(用while,或者for)
分支结构
分支结构就是根据条件与你定义的参数进行判断。若满足条件1则执行代码块1,若不满足,则与下面条件相对比。。直到语句结束。
if语句用法:
if 条件1: #如果条件1成立,则执行代码块1,若不成立,则执行下一个判断
代码块1
elif 条件2: # 如果条件2成立,则执行代码块2,若不成立,则执行下一个判断
代码块2
.........
elif 条件n: # 如果条件n成立,则执行代码块n,若不成立,则执行下一个判断
代码块n
else: #如果以上的条件都没成立,则执行代码块n+1
代码块n+1
if语句是从上往下执行的,一但满足条件,则会执行相应的代码块,并结束这个if语句。
例如:
如果:成绩>=90,那么:优秀
如果成绩>=80且<90,那么:良好
如果成绩>=70且<80,那么:普通
其他情况:很差
score = input('请输入成绩:')
score = int(score) #因为input输入的无论什么,都会变成字符串类型的。
if score >= 90: #字符串类型是没有办法和数字进行比较,所以必须先改为int类型
print('优秀')
elif score >= 80:
print('良好')
elif score >= 70
print('普通')
else:
print('很差')
if嵌套的使用
女人的年龄>=18并且<22岁并且身高>170并且体重<100并且是漂亮的
那么:表白,否则:叫阿姨 如果表白成功,那么:在一起 否则:打印。。。
age = 18
height = 171
weight = 98
is_beautiful = True
if 22 > age >= 18 and height > 170 and weight < 100 and is_beautiful:
print('I love you', end=' ')
a = input('我想让你得到我,可以吗:')
if a == '可以':
print('在一起')
else:
print('什么爱情不爱情的,爱nmlgb的爱情,爱nmlg啊')
else:
print('阿姨好')
循环结构
循环结构就是如果满足条件则会一直循环改代码块
因为人类某些时候需要重复做某件事情,所以就衍生出了循环结构
while循环语法
while 条件:
代码块1
代码块2
代码块3
。。。
执行逻辑为,如果满足条件,则会执行代码块1,再执行代码块2,代码块3.。。。代码块执行完之后会重新判断是否满足条件,若满足,则会再次执行代码块。

break:结束本层循环,只能结束当前这层循环。 重
continue:跳过本层循环,直接进行下一次循环。 点
案例:进行一个用户登陆系统,输入密码输错3次,则锁定用户3分钟。登陆成功则可以输入命令。输入exit则退出程序。
import time
from_db_username = 'white'
from_db_password = '123'
count = 0
while count < 3:
username = input('请输入您的用户名:')
password = input('请输入您的密码:')
if from_db_username == username and from_db_password == password:
print('登陆成功')
while True:
cmd = input('>>>:')
if cmd == 'exit':
break
else:
print(f'执行命令{cmd}')
break
else:
print('登陆失败3次,锁定用户3分钟')
count += 1
if count == 3:
print('锁定用户3分钟')
time.sleep(180)
案例: 打印1到10之间,除7以外的所有数字 。
count = 0
while count < 10:
count += 1
if count == 7:
continue
else:
print(count)
for循环
for循环语法
循环结构的第二种实现方式是for循环,for循环可以做的事情while循环都可以实现,之所以用for循环是因为在循环取值(即遍历值)时for循环比while循环的使用更为简洁 。
for 变量名 in 可迭代对象:
代码块1
代码块2
代码块3
........
案例
for循环嵌套: 请用for循环嵌套的方式打印如下图形
*****
*****
*****
for i in range(3):
for j in range(5):
print('*', end='')
print()
打印九九乘法表
for i in range(1, 10): #先取出1到9的数字
for j in range(1, i+1): #定义一个j取1到i的数字
print(f'{j}*{i}={i*j}', end=' ') #进行格式话输出输出格式为 1*1=1 同时将换行符换
if i * j < 10: #为空格
print(end=' ') #i*j小于10的话则多输出一个空格
print() #当j执行结束后将换行符取消掉,再进行i的下一轮循环
python语法入门之流程控制的更多相关文章
- 053 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 15 流程控制知识总结
053 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 15 流程控制知识总结 本文知识点: 流程控制知识总结 流程控制知识总结 选择结构语句 循环结构语句 ...
- 052 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 14 Eclipse下程序调试——debug2 多断点调试程序
052 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 14 Eclipse下程序调试--debug2 多断点调试程序 本文知识点: Eclipse下程序调 ...
- 051 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 13 Eclipse下程序调试——debug入门1
051 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 13 Eclipse下程序调试--debug入门1 本文知识点: 程序调试--debug入门1 程序 ...
- 050 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 12 continue语句
050 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 12 continue语句 本文知识点:continue语句 continue语句 continue ...
- 049 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 11 break语句
049 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 11 break语句 本文知识点:break语句 break语句 break语句前情回顾 1.swi ...
- 048 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 10 案例——阶乘的累加和
048 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 10 案例--阶乘的累加和 本文知识点:通过案例练习嵌套循环应用 案例练习--阶乘的累加和 案例题目 ...
- 047 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 09 嵌套while循环应用
047 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 09 嵌套while循环应用 本文知识点:嵌套while循环应用 什么是循环嵌套? 什么是循环嵌套? ...
- 046 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 08 for循环的注意事项
046 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 08 for循环的注意事项 本文知识点:for循环的注意事项 for循环的注意事项 for循环有3个 ...
- 045 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 07 for循环应用及局部变量作用范围
045 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 07 for循环应用及局部变量作用范围 本文知识点:for循环应用及局部变量作用范围 for循环 w ...
随机推荐
- Unity - 存读档机制简析
本文旨在于简要分析Unity中的两种存档机制,即:PlayerPrefs数据持久化方法及Serialization数据序列化方法 较比与源项目,我另加了JSON方法.XML方法等及一些Unity设置, ...
- Python列表的深度排序
实例1:>>>L = [2,3,1,4]>>>L.sort()>>>L>>>[1,2,3,4] 实例2:>>> ...
- Hbase入门(四)——表结构设计-RowKey
Hbase的表结构设计与关系型数据库有很多不同,主要是Hbase有Rowkey和列族.timestamp这几个全新的概念,如何设计表结构就非常的重要. 创建 Hbase就是通过 表 Rowkey 列族 ...
- 集合查询表--Map
查询表 Map接口java提供了一组可以以键值对(key-value)的形式存储数据的数据结构,这种数据结构成为Map.我们可以把Map看成一个多行两列的表格,其中第一列存放key,第二列存放valu ...
- [LeetCode] 1108. Defanging an IP Address
Description Given a valid (IPv4) IP address, return a defanged version of that IP address. A defange ...
- mac系统Intellij Idea的java环境配置:JDK + Tomcat + Maven
一.JAVA JDK查看与配置 1.查看java路径详细信息: /usr/libexec/java_home -V 2.java默认路径 jdk1.6: /System/Library/Java/Ja ...
- .netCore+Vue 搭建的简捷开发框架--目录
.netCore+Vue 搭建的简捷开发框架 .netCore+Vue 搭建的简捷开发框架 (2)--仓储层实现和EFCore 的使用 .netCore+Vue 搭建的简捷开发框架 (3)-- Ser ...
- Angry Words 愤怒的话
_ Words said in anger are like scars left by nails in a fence. Even though you can pull all the nail ...
- 单元测试实践(SpringCloud+Junit5+Mockito+DataMocker)
网上看过一句话,单元测试就像早睡早起,每个人都说好,但是很少有人做到.从这么多年的项目经历亲身证明,是真的. 这次借着项目内实施单元测试的机会,记录实施的过程和一些总结经验. 项目情况 首先是背景,项 ...
- AlexNet网络
AlexNet 中包含了比较新的技术点,首次在CNN中成功应用了 ReLu .Dropout和LRN等Trick. 1.成功使用了Relu作为CNN的激活函数,并验证其效果在较深的网络中超过了Sigm ...