Python循环语句

接下来将介绍Python的循环语句,程序在一般情况下是按顺序执行的。

编程语言提供了各种控制结构,允许更复杂的执行路径。

循环语句允许我们执行一个语句或语句组多次。

Python提供了for循环和while循环(在Python中没有do...while循环):

for循环

要计算1+2+3,我们可以直接写表达式:

>>>1 + 2 + 3
6

要计算1+2+3+...+10,勉强也能这样写出来,但是,如果要计算1+2+3+...+1000,直接写表达式就不可能了。

为了然计算机能成千上万次的重复运算,我们就需要循环语句。

例1、我们先来看一个最简单的循环:

for i in range(10):
print("loop:",i) # 输出:
loop: 0
loop: 1
loop: 2
loop: 3
loop: 4
loop: 5
loop: 6
loop: 7
loop: 8
loop: 9

例2、还是上面的程序,但是遇到小于5的循环次数就不走了,直接跳入下一次循环:

for i in range (10):
if i < 5:
continue
print("loop:",i) # 输出
loop: 5
loop: 6
loop: 7
loop: 8
loop: 9

Python continue语句跳出本次循环

continue 语句用来告诉Python跳过当前循环的剩余语句,然后继续进行下一轮循环。

例3、还是上面的程序,但遇到大于5的循环次数就不走了,直接退出:

for i in range (10):
if i > 5:
break
print("loop:",i) # 输出
loop: 0
loop: 1
loop: 2
loop: 3
loop: 4
loop: 5

break语句用来终止循环语句,即循环条件没有False条件或者序列还没有被完全地硅烷,也会停止执行循环语句。

例4、还是上面的程序,但遇到等于5的循环次数,我想让它打个盹再继续执行下面的循环:

for i in range(10):
if i == 5:
pass
print("让我打个盹")
print("loop:",i) # 输出
loop: 0
loop: 1
loop: 2
loop: 3
loop: 4
让我打个盹
loop: 5
loop: 6
loop: 7
loop: 8
loop: 9

pass是空语句,是为了保持程序结构的完整性。

pass不做任何事情,一般用做占位语句

例5、回到最初的问题,让我们看看通过for循环如何实现1一直加到1000:

#!/usr/bin/env python

sum = 0
for x in range (1001):
sum = sum + x
print(sum)

Python提供的 range()函数,可以生成一个整数序列,range(1001)就可以生成0-1000的整数序列。

while循环

第二种循环是while循环,只要条件满足,就不断循环,条件不满足时退出循环。

这里我想讲一下,有一种循环叫死循环,一经触发,就运行到天荒地老,海枯石烂。

例1、海枯石烂的代码:

count = 0
while True:
print("海枯石烂的死循环。。。",count)
count +=1 # 输出
海枯石烂的死循环。。。1
海枯石烂的死循环。。。2
海枯石烂的死循环。。。3
海枯石烂的死循环。。。4
海枯石烂的死循环。。。5
......

其实除了时间,没有什么是永恒的,死loop还是少写为好

例2、上面的代码循环5次就退出吧

count = 0
while True:
count += 1
print("海枯石烂的死循环。。。",count)
if count == 5:
print("滚")
break # 输出
海枯石烂的死循环。。。 1
海枯石烂的死循环。。。 2
海枯石烂的死循环。。。 3
海枯石烂的死循环。。。 4
海枯石烂的死循环。。。 5

练习题

还记得上一篇文章中遗留下来的问题吗?猜年龄的游戏,我们希望用户在输错年龄后还能继续猜,而不是退出这个程序所以我们需要用到循环:

my_age = 23
count = 10
for i in range (10):
count = count - 1
user_input = int(input("input your guess num:")) #这里int函数,定义输入的是整数
if user_input == my_age:
print("恭喜你,答对了!")
break
elif user_input > my_age:
print("你猜大了!你还有",count,"次机会")
else:
print("你猜小了!你还有",count,"次机会")

这样一来,我们的用户就获得了10次机会,但是我们还不满意,用户希望猜3次之后有个是否要继续的交互,所以我们需要升级我们的代码:

my_age = 23
count = 10
num = 0
for i in range (10):
count = count - 1
if num < 3:
user_input = int(input("input your guess num:")) #这里int函数,定义输入的是整数
if user_input == my_age:
print("恭喜你,答对了!")
break
elif user_input > my_age:
print("你猜大了!你还有",count,"次机会")
else:
print("你猜小了!你还有",count,"次机会")
else:
continue_confrim = input("你已经尝试3次了,还猜不对实在是太笨了!你还有想继续吗?y:继续 n:退出:")
if continue_confrim == 'y':
num = 0
continue
else:
print("再见笨猪!")
break
num = num + 1

那循环就到这里结束啦!

Python学习【第五篇】循环语句的更多相关文章

  1. Python 学习 第五篇:语句和语法

    Python程序是语句构成的,语句包含表达式,表达式嵌套在语句中,包含变量和常量,用于处理对象.Python的语法实质上是由表达式.语句和代码块构成的.语句是由表达式构成的,代码块是由多个语句构成的复 ...

  2. Python学习(6)循环语句

    目录 Python循环语句 - while循环语句 -- 无线循环 -- 循环使用else语句 -- 简单语句组 - for循环语句 -- 通过序列索引迭代 -- 循环使用else语句 - 循环嵌套 ...

  3. python学习(4)循环语句

    循环语句主要有两个,一个是 while :一个是for in range() 以案例来说明: 写一个猜数字的游戏,正确的数字等于38.如果数字等于38,则提示正确,然后结束:如果数字大于38则提示大了 ...

  4. Python学习第五篇——如何访问字典

    # the example_1 aim to tell how to use dctionary,and how to access list or dictionary infos={"f ...

  5. Python学习笔记基础篇——总览

    Python初识与简介[开篇] Python学习笔记——基础篇[第一周]——变量与赋值.用户交互.条件判断.循环控制.数据类型.文本操作 Python学习笔记——基础篇[第二周]——解释器.字符串.列 ...

  6. Python学习第五堂课

    Python学习第五堂课推荐电影:华尔街之狼 被拯救的姜哥 阿甘正传 辛德勒的名单 肖申克的救赎 上帝之城 焦土之城 绝美之城 #上节内容: 变量 if else 注释 # ""& ...

  7. Go语言学习笔记五: 条件语句

    Go语言学习笔记五: 条件语句 if语句 if 布尔表达式 { /* 在布尔表达式为 true 时执行 */ } 竟然没有括号,和python很像.但是有大括号,与python又不一样. 例子: pa ...

  8. python教程(二)·循环语句

    计算机程序中常常需要重复执行某些语句,我们总不能将同一语句写上百遍吧?所以在python中,当然其它计算机语言也是,有一种语句可以重复执行相同的操作,这种语句就是 "循环语句",而 ...

  9. Python 学习 第十篇 CMDB用户权限管理

    Python 学习 第十篇 CMDB用户权限管理 2016-10-10 16:29:17 标签: python 版权声明:原创作品,谢绝转载!否则将追究法律责任. 不管是什么系统,用户权限都是至关重要 ...

  10. Python学习笔记进阶篇——总览

    Python学习笔记——进阶篇[第八周]———进程.线程.协程篇(Socket编程进阶&多线程.多进程) Python学习笔记——进阶篇[第八周]———进程.线程.协程篇(异常处理) Pyth ...

随机推荐

  1. springMVC 的工作原理和机制

    工作原理上面的是springMVC的工作原理图: 1.客户端发出一个http请求给web服务器,web服务器对http请求进行解析,如果匹配DispatcherServlet的请求映射路径(在web. ...

  2. Maven搭建 Spring环境

    http://www.cnblogs.com/huaizuo/p/4920308.html http://mvnrepository.com/artifact/commons-logging/comm ...

  3. 【zz】面试题之寻找丢失的数字

    据传说是MS/Google等等IT名企业的面试题: 有一组数字,从1到n,中减少了一个数,顺序也被打乱,放在一个n-1的数组里 请找出丢失的数字,最好能有程序,最好算法比较快 BTW1: 有很多种方法 ...

  4. 关于SQLSERVER中用SQL语句查询的一些个人理解

    作为一个编程菜鸟说真的很难有什么见解,也就是写给一些刚学习编程的人,希望能给他们一些帮助吧! SQLSERVER作为刚开始入门学习的数据库,SQL语句也并不算太难!说白了也就是建库,建表,建约束,对数 ...

  5. jquery 事件冒泡的介绍以及如何阻止事件冒泡

    在一个对象上触发某类事件(比如单击onclick事件),如果此对象定义了此事件的处理程序,那么此事件就会调用这个处理程序,如果没有定义此事件处理程序或者事件返回true,那么这个事件会向这个对象的父级 ...

  6. html学习第一天笔记——第四、五章节

    讲解:1. 在上面的例子中,“庄生晓梦迷蝴蝶.望帝春心托杜鹃.” 这是一句诗歌,出自晚唐诗人李商隐的<锦瑟> .因为不是作者自己的文字,所以需要使用<q></q>实 ...

  7. psql-09表:视图和索引

    视图 由查询语句定义的虚拟表;从视图中看到的数据可能来自数据库中的一张或多张表,也可能来自外部; 使用视图的原因一般有: 使复制的查询易于理解和使用; 安全原因; 表一些函数返回的结果映射成视图; 一 ...

  8. js实现找质因数

    实现最一个整数的质因数的拆分,例如:90可以才分为2*3*3*5,具体代码如下: <script> var num = prompt('请输入一个整数:','90'); var regex ...

  9. 北京电子科技学院(BESTI)实验报告1

    北京电子科技学院(BESTI)实验报告1 课程: 信息安全系统设计基础 班级:1452.1453 姓名:(按贡献大小排名)郑凯杰 .周恩德 学号:(按贡献大小排名)20145314 .20145217 ...

  10. phpcmsv9多表联合查询分页功能实现

    phpcms v9里面自带的listinfo分页函数蛮好用的,可惜啊.不支持多表查询并分页. 看了一下前台模板层支持get标签,支持多表查询,支持分页.刚好可以把这个功能搬到后台来使用. 我们现在对g ...