python基础(3)---流程控制
流程控制
与C语言不通的是python的流程控制代码块不是用{}花括号表示的,而是强制缩进来控制的;而且缩进必须一致,官方推荐是使用4个空格,不建议使用tab(制表符)做缩进,一是不同的系统tab所占宽度不一致,会比较乱,二是由于python要求同级缩进必须保持一致,所以有些时候看上去是对齐l,但是有的是空格有的是tab键,使得不容易排错,另外条件判断的语句不需要使用()括起来,但是条件语句后面使用:
1.条件判断--if语句
条件判断就是执行某个代码段之前先进行判断,如果符合再执行某个代码块
比如,输入年龄,如果年龄小于18岁,就告诉他too yong toosimple!
age =
if age <;
print('too yong too simple') #如果判断返回的True就执行这段代码
也可以在if后面添加一个else语句,告诉Python解释器,如果不符合执行条件(返回False)的代码段,例如,如果年龄不小于18岁,就告诉他do you marry me?
age =
if age < :
print('too young too simple')
else:
print('do you marry me?') #如果判断返回的False就执行这段代码
由于Python没有case语句,所以条件分支可以通过else if这样嵌套,为了技术那好嵌套可以使用简写elif,例如再加一个条件如果大于30岁,告诉他too old!
age =
if age < :
print('too young too simple')
elif age > :
print('too old!')
else:
print('do you marry me?')
注意:保持缩进一直,不要忘了冒号:
应用示例:
现在有这么一个需求,设计一个猜幸运数字的小游戏,通过控制台输入的方式让用户猜你的幸运数字lucky number,如果用户输入的比你的幸运数字大就提示再小一点,反之如果输入的比你幸运数字小泽提示再大一点,如猜中则提示Bingo。
'''
@author:xiaocao Description:猜lucky number
、如果猜的数字比lucky number大,提示小一点
、如果猜的数字比lucky number小,提示说大一点
、如果相等,提示Bingo
'''
if __name__ == '__main__':
#定义lucky number
lucky_num =
#获取用户输入的猜lucky number
lucky_num_input = int(input("请输入lucky number(1-10):"))
#判断用户输入的猜lucky number
if lucky_num_input > lucky_num:
#输入的比lucky number大
print("再小一点")
elif lucky_num_input < lucky_num:
#输入的比lucky number小
print("再大一点")
else:
#正确
print("Bingo")
2.while循环:只要符合条件(条件语句返回的是True)则循环执行某个代码段
比如我们的程序有着让用户输入东西并进行处理(例如菜单程序),如果用户输入的q则退出程序
choose = ''
while choose != 'q':
choose = input('请输入你要点的菜,输入q退出')
循环中的常见关键字break、continue、else:
在循环中关键字break表示退出循环,continue表示退出当前循环继续下一轮的循环,continue后面的语句将不执行,else和if中的else表示条件不满足时(也就是正常退出循环不是用break强制退出)执行的代码段
应用示例,还是刚才那个猜幸运数字的游戏,之前只是输入一次程序就退出了,如果继续猜需要重新运行程序,这很不友好,我们现在让用户运行一次可以猜3次,如果3次猜不对再退出程序
'''
@author:xiaocao Description:猜lucky number
、如果猜的数字比lucky number大,提示小一点
、如果猜的数字比lucky number小,提示说大一点
、如果相等,提示Bingo
、没有猜对继续循环直到猜对
、限制三次,如果没有猜对提示三次没有猜对,游戏结束
''' if __name__ == '__main__':
#定义luncky number
lucky_num =
#定义guess_count,计算猜的次数
guess_count =
while guess_count < :
#获取用户输入的猜lucky number
lucky_num_input= int(input("请输入lucky number:"))
#判断用户输入的猜lucky number
if lucky_num_input > lucky_num:
#输入的比lucky number大
print("再小一点")
elif lucky_num_input < lucky_num:
#输入的比lucky number小
print("再大一点")
else:
#输入的和lucky number相等
print("Bingo")
#退出循环
break
#次数加1
guess_count +=
else:
#猜了三次循环正常退出
print("三次没有猜对,游戏结束!")
3.for循环
Python中的for循环常常使用in序列化对象(如列表、元组等)进行遍历,这里我们还没讲到列表元组等,我们可以用字符串(字符串也是序列化对象,可以遍历每个元素,也就是组成字符串的每一个字符),假设我们有个一个字符串‘ABC’我们要把字符串中的每一个字符分别输出,可以这样做:
for i in 'ABC':
print(i)
如果我们需要像C语言for(i=1;i<3;i++),可以借助内置方法range(n),就是生成一个(0,1,2...n-1)的序列,例如我们要指定循环多少遍(打印0-9的数字)可以这么做:
for i in range():
print(i)
Python的for循环也可以使用break、continue和else,使用方法和while循环一样
应用示例,我们把猜幸运数字的游戏改成for循环实现
'''
@author:xiaocao
for循环实现
Description:猜lucky number
、如果猜的数字比lucky number大,提示小一点
、如果猜的数字比lucky number小,提示说大一点
、如果相等,提示Bingo
、没有猜对继续循环直到猜对
、限制三次,如果没有猜对提示三次没有猜对,游戏结束
'''
if __name__ == '__main__':
#定义lucky number
lucky_num =
for guess_count in range():
#获取用户输入的lucky number
lucky_num_input = int(input("请输入lucky number:"))
#判断用户输入的猜lucky number
if lucky_num_input > lucky_num:
#输入的比lucky number大
print("再小一点")
elif lucky_num_input < lucky_num:
#输入的比lucky number小
print("再大一点")
else:
#输入的和lucky number相等
print("Binge")
#退出循环
break
else:
#猜了三次循环正常退出
print("三次没有猜对,游戏结束!")
总结:while和for循环虽然都可以实现循环,但是他们各自有各自的特点,根据实际需要选择,例如不限定循环的次数只要符合条件就退出循环使用while循环就比较方便,如果限定循环次数或者要遍历序列对象使用for循环就比较方便
python基础(3)---流程控制的更多相关文章
- python基础之流程控制、数字和字符串处理
流程控制 条件判断 if单分支:当一个“条件”成立时执行相应的操作. 语法结构: if 条件: command 流程图: 示例:如果3大于2,那么输出字符串"very good" ...
- python基础之流程控制(2)
今天将是基础篇的最后一篇,咱们来补上最后一个内容,流程控制for循环 For 循环 一.为什么有for循环? for循环能做的事情,while循环全都可以实现,但是在某些情境下,for循环相对于whi ...
- python基础之流程控制
流程控制之----if 流程控制,是指程序在运行时,个别的指令(或者是陈述.子程序)运行或者求值的顺序.人生道路上的岔口有很多,在每个路口都是一个选择,在每个路口加上一个标签,选择哪个就是满足哪个条件 ...
- python基础:流程控制案例:
1,简述编译型与解释型的语言,且分别列出你知道的哪些语言属于编译型,哪些属于解释型. 答:简单理解编译型语言类似谷歌翻译,整篇读入整篇翻译,代表语言有C语言,解释型语言类似同 声传译,读入一行翻译 ...
- python基础之流程控制(1)
一.分支结构:if 判断 1.什么要有if 判断语句? 让计算机可以像人一样根据条件进行判断,并根据判断结果执行相应的流程. 2.基本结构 单分支结构 # 单分支 if 条件1: 代码1 代码2 代码 ...
- python基础之流程控制(if判断和while、for循环)
程序执行有三种方式:顺序执行.选择执行.循环执行 一.if条件判断 1.语句 (1)简单的 if 语句 (2)if-else 语句 (3)if-elif-else 结构 (4)使用多个 elif 代码 ...
- Python基础之流程控制for循环
目录 1. 语法 2. for+break 3. for+continue 4. for循环嵌套 1. 语法 while循环可以对任何内容循环,但循环次数不可控 for循环基于容器类型的长度,循环次数 ...
- Python 基础知识----流程控制
判断语句 循环语句 嵌套
- Python基础之流程控制if判断
目录 1. 语法 1.1 if语句 1.2 if...else 1.3 if...elif...else 2. if的嵌套 3. if...else语句的练习 1. 语法 1.1 if语句 最简单的i ...
- Python基础之流程控制while循环
目录 1. 语法 2. while+break 3. while+continue 4. while+else 1. 语法 最简单的while循环如下: ''' while <条件>: & ...
随机推荐
- HDU.1233 还是畅通工程(Prim)
HDU.1233 还是畅通工程(Prim) 题意分析 首先给出n,代表村庄的个数 然后出n*(n-1)/2个信息,每个信息包括村庄的起点,终点,距离, 要求求出最小生成树的权值之和. 注意村庄的编号从 ...
- 一种高效的寻路算法 - B*寻路算法
在此把这个算法称作B* 寻路算法(Branch Star 分支寻路算法,且与A*对应),本算法适用于游戏中怪物的自动寻路,其效率远远超过A*算法,经过测试,效率是普通A*算法的几十上百倍. 通过引入该 ...
- JS 中类型鉴别
JS中的基本类型有:数字(Number(NaN,Infinity)),字符串(String),Undefined,Null,Boolean 引用类型有:数组(Array),对象(Object),函数( ...
- Leetcode 381. O(1) 时间插入、删除和获取随机元素 - 允许重复
1.题目描述 设计一个支持在平均 时间复杂度 O(1) 下, 执行以下操作的数据结构. 注意: 允许出现重复元素. insert(val):向集合中插入元素 val. remove(val):当 va ...
- CMDB资产管理系统开发【day26】:CMDB上节回顾
一.上节知识点回顾 服务器设计了一个表结构 开发了一个客户端 二.后台创建缓存区表 客户端连接服务器,在服务器的下面看报错信息 因为URL都没有写,所以我找不到呀 1.在MadKing\url.py ...
- Difference between List View and DataGrid in WPF
Well, in WPF the difference between ListView and DataGrid is just one. Editing. You need editing use ...
- 第01篇 说一下Setting,我一直没有讲过
settings 调整 settings 中的设置是非常关键的,它们会改变 MyBatis 的运行时行为.下表描述了设置中各项的意图.默认值等. 设置参数 描述 有效值 默认值 cacheEn ...
- Nginx简介及使用Nginx实现负载均衡的原理【通俗易懂,言简意赅】【转】
Nginx 这个轻量级.高性能的 web server 主要可以干两件事情: 直接作为http server(代替apache,对PHP需要FastCGI处理器支持): 另外一个功能就是作为反向代理服 ...
- Golang向Templates 插入对象的值
Go对象可以插入到template中,然后把对象的值表现在template中,你可以一层层的分解这个对象,去找他的子字段,当前对象用'.'来表示,所以当当前对象是一个string的时候,你可以用{{. ...
- 【NOIP】提高组2012 同余方程
[算法]扩展欧几里德算法 [题解]学完扩欧就可以随便水了... 转化为不定方程ax-by=1. 因为1且题目保证有解,所以方程有唯一解. 紫书曰:同余方程的一个解其实指的是一个同余等价类. 所以满足x ...