写重复的代码是程序员最不耻的行为,那么如何做到不用写重复代码又能让程序重复一段代码多次呢,循环语句就派上用场拉……

一、while 循环

# while 语法结构
while 条件:
执行代码.....
#来写个从0打印到100的小程序,每循环一次,+1+
count = 0
while count <= 100: #只需要count<=100,就执行不断执行下面代码
print("第%s次循环"%count)
count += 1 #每执行一次,就把count+1,否则就会变成死循环,如果count不加1,那么count就一直是0 #执行结果: 第0次循环
第1次循环
第2次循环
第3次循环
第4次循环
………………
………………
第100次循环
# 再做个练习吧,打印0-100的偶数
num = 0
while num <= 100:
if num % 2 == 0:
print("%s"%num,end=" ")
num += 1
print("")
print ("-----loop is ended-----") # 执行结果
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98 100
-----loop is ended-----

break 与continue

下面我们来看看continue的效果吧……

# 打印1-,第5次跳过不打印
count =
while count <= :
count +=
if count == :
continue #当count=5时,结束本次循环,不打印loop 5,直接下一次循环
print ("loop ",count) print("----end------") #执行结果
loop
loop
loop
loop
loop
loop
loop
loop
loop
----end------

接下来在看看break的效果,与continue有什么不同……

# 打印1-,第5次结果循环体
count =
while count < :
count +=
if count == :
break #当count=5时,结束循环体
print ("loop ",count) print("----end------") #执行结果:
loop
loop
loop
loop
----end------

来个小练习:优化猜年龄游戏,允许用户最多猜3次,猜了三次后,再问用户是否还想玩,如果用户选择y,则允许在猜三次,否则游戏终止

# 优化猜年龄游戏,允许用户最多猜3次,猜了三次后,再问用户是否还想玩,如果用户选择y,则允许在猜三次,否则游戏终止
age =
count =
while count < :
age_input = int(input("将你猜的年龄输入:"))
if age_input == age:
print("恭喜你猜对了")
break
elif age_input > age:
print("猜大了")
else:
print("猜小了")
count +=
if count == :
choice = input("没猜,游戏是否继续,y/n?:")
if choice == "y" or choice == "Y":
count = #初始化count,循环条件则为真,进入循环
else:
print("游戏结束,欢迎下次光临!")

while...else

与其它语言else一般只与if搭配不同,在python中还有个while....else语句

while后面的else作用是指,当while循环正常执行完,中间没有被 break中止的话,就会执行else后面的语句

# while ....else 判断程序中间否中止过(break)
count =
while count < :
print ("loop ",count)
if count == :
break
count +=
else: # 中间有被break过将不会被执行else代码块
print("out of loop") # 执行结果
loop
loop
loop
loop

循环(while、for)的更多相关文章

  1. 【.net 深呼吸】细说CodeDom(8):分支与循环

    有人会问,为啥 CodeDom 不会生成 switch 语句,为啥没生成 while 语句之类.要注意,CodeDom只关心代码逻辑,而不是语法,语法是给写代码的人用的.如果用.net的“反编译”工具 ...

  2. Recurrent Neural Network系列1--RNN(循环神经网络)概述

    作者:zhbzz2007 出处:http://www.cnblogs.com/zhbzz2007 欢迎转载,也请保留这段声明.谢谢! 本文翻译自 RECURRENT NEURAL NETWORKS T ...

  3. Python学习--04条件控制与循环结构

    Python学习--04条件控制与循环结构 条件控制 在Python程序中,用if语句实现条件控制. 语法格式: if <条件判断1>: <执行1> elif <条件判断 ...

  4. 模仿Linux内核kfifo实现的循环缓存

    想实现个循环缓冲区(Circular Buffer),搜了些资料多数是基于循环队列的实现方式.使用一个变量存放缓冲区中的数据长度或者空出来一个空间来判断缓冲区是否满了.偶然间看到分析Linux内核的循 ...

  5. 【JS基础】循环

    for 循环的语法: for (语句 1; 语句 2; 语句 3) { 被执行的代码块 } 语句 1 在循环(代码块)开始前执行 语句 2 定义运行循环(代码块)的条件 语句 3 在循环(代码块)已被 ...

  6. 【python之路4】循环语句之while

    1.while 循环语句 #!/usr/bin/env python # -*- coding:utf-8 -*- import time bol = True while bol: print '1 ...

  7. To Java程序员:切勿用普通for循环遍历LinkedList

    ArrayList与LinkedList的普通for循环遍历 对于大部分Java程序员朋友们来说,可能平时使用得最多的List就是ArrayList,对于ArrayList的遍历,一般用如下写法: p ...

  8. JavaScript单线程和浏览器事件循环简述

    JavaScript单线程 在上篇博客<Promise的前世今生和妙用技巧>的开篇中,我们曾简述了JavaScript的单线程机制和浏览器的事件模型.应很多网友的回复,在这篇文章中将继续展 ...

  9. .NET基础 一步步 一幕幕[循环、逻辑语句块]

    循环.逻辑语句块   好久不写博客了,断更了好几天了,从上周五到今天,从北京到上海,跨越了1213.0公里,从一个熟悉的城市到陌生的城市,还好本人适应力比较好,还有感谢小伙伴的接风咯,一切都不是事,好 ...

  10. Linux进程管理及while循环

    目录 进程的相关概念 进程查看及管理工具的使用 Linux系统作业控制 调整进程优先级 网络客户端工具 bash之while循环 20.1.进程类型 守护进程 daemon,在系统引导过程中启动的进程 ...

随机推荐

  1. HDU 5501——The Highest Mark——————【贪心+dp】

    The Highest Mark Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Other ...

  2. oracle中scott用户下四个基本表SQL语句练习

    --选择部门中30的雇员SELECT * from emp where DEPTNO=30;--列出所有办事员的姓名.部门.编号--采用内连接方式,也就是等值链接,也是最常用的链接SELECT ena ...

  3. eclipse调试(转)

    step into : 单步执行,遇到子函数就进入并且继续单步执行(F5) step over: 在单步执行时,在函数内遇到子函数时不会进入子函数内单步执行,而是将子函数整个执行完在停止,也就是把子函 ...

  4. 谈谈我对MVC的View层实现的理解

    MVC框架可以把应用清晰明了地分为三个部分:Model层–数据层,View层–视图层,Controller–逻辑层,Model层负责整合数据,View层负责页面渲染,Controller层负责实现业务 ...

  5. webpack实用小功能介绍

    1.overlay overlay属于devServer的属性,配置案例如下: ? 1 2 3 4 5 6 devServer: {  overlay: {   errors: true,   war ...

  6. ArrayList与Vector区别

    ArrayList与Vector区别表 ArrayList Vector 1.实现原理:采用动态对象数组实现,默认构造方法创建了一个空数组 1.实现原理:采用动态数组对象实现,默认构造方法创建了一个大 ...

  7. <Android 基础(二)> BroadcastReceiver

    介绍 BroadcastReceiver:广播接收者,很形象,广播发送,类比生活中的广播,有能力听得到的都可以介绍到这个信息,然后在大脑中反映.对应到Android中就是SendBroadcast和o ...

  8. hadoop启动中缺少datanode

    原文链接地址:https://blog.csdn.net/islotus/article/details/78357857 本人测试有效: 首先删除hadoop下的dfs文件(注:本文件不一定在had ...

  9. GitLab一个非标准的端口远程仓库导致clone失败

    首先看下报错信息 当gitlab服务器ssh端口不是默认的22时,使用ssh连接gitlab会出现上面的错误 解决方法: 修改/etc/gitlab/gitlab.rd gitlab_rails['g ...

  10. mustache.js 数组循环的索引

    在使用mustache作为模板引擎时,想要利用数组中的对象的索引排序,却发现mustache中无法获得数组索引,在一番搜索之后,发现在数组的对象中加入索引,就可以了,示例如下 /html {{#dat ...