在我们生活中有很多反复要做的事情,或者动作,我们称之为循环。在开发程序中也会有循环的事情要去做,就是需要反复的去执行某个代码,或者反复进行某种演算,直到达到某种条件的时候才会停止。在Python中我们使用的是while循环。

  伪代码:

   条件成立:

    执行循环体

  直到条件不成立

  代码格式:

while ...:
...

  示例代码:

n = 0

while n < 10:
n = n + 1
# 或者 n += 1
print(n) # 执行结果

1
2
3
4
5
6
7
8
9
10

  在示例代码中,我们将n赋值初始值为0,在while循环体对n进行自增操作,直到n<10不成立,即n大于10,才结束循环。在循环中,我们要注意一定要有结束条件,不要造成无限循环,即死循环。

  下面我们再看一个猜数字代码示例:

number = 47

while True:
guess_number = input("请输入你要猜的数字:") # 因为通过input接收到参数是字符串,我们需要将字符串转换成数字,才可以进行比较操作
guess_number = int(guess_number) if guess_number == number:
print("恭喜你猜对了!")
break
elif guess_number > number:
print("猜的太大了!")
else:
print("猜的太小了!")

  在猜数字示例代码中,我们将变量number赋值数字47,这里的循环内容是反复询问用户输入数字,进行比较,循环结束条件是:guess_number等于number,而跳出循环是由循环控制词break进行控制。在循环中控制循环的词除了break还有continue。break,是跳出整个循环,continue,是结束当前循环,继续执行下面的循环内容。

  continue示例:

n = 0

while n<10:
n += 1
if n == 6:
continue
print(n) # 执行结果 1
2
3
4
5
7
8
9
10

  在这个示例中,可以看出来,循环体对n不断进行自增操作,并打印出n的数值,当n等于6的时候,遇到了continue,跳出了当前的循环,没有打印出来,继续执行剩下的循环内容,直到条件不满足。

  猜数字我们可以修改一下,在一定次数内才可以猜到,限制猜的次数。

number = 47
count = 0
while count < 3:
guess_number = input("请输入你要猜的数字:")
guess_number = int(guess_number) if guess_number == number:
print("恭喜你猜对了!")
break
elif guess_number > number:
print("猜的太大了!")
else:
print("猜的太小了!") count +=1

  我们再增加一个条件,当猜的次数到达3次,退出循环,并告知退出原因。

number = 47
count = 0
while count < 3:
guess_number = input("请输入你要猜的数字:")
guess_number = int(guess_number) if guess_number == number:
print("恭喜你猜对了!")
break
elif guess_number > number:
print("猜的太大了!")
else:
print("猜的太小了!") count +=1 else:
print("抱歉!你猜的次数太多了!")

  这里我们只是增加了else代码块,这里的意思是当while中的循环,正常循环完毕,while的循环条件不成立,(即count大于等于0),没有经过break而结束,才会执行的代码块!

  现在我们修改一下需求,当猜的次数达到3次的时候,我们询问用户是否继续,按‘n’退出,按任意键继续。请看示例:

number = 47
count = 0
while count < 3:
guess_number = input("请输入你要猜的数字:")
guess_number = int(guess_number)
if guess_number == number:
print("恭喜你猜对了!")
break
elif guess_number > number:
print("猜的太大了!")
else:
print("猜的太小了!")
count += 1
if count == 3:
is_contin = input("是否继续?如果要退出,请输入‘n’。")
if is_contin != 'n':
count = 0

  我们可以看到当每次循环3次,并且没有猜到的时候,程序就会询问用户,是否继续?如果输入的是‘n’,程序就会退出!

  while我们暂时学到这里!

1.5 Python基础知识 - while循环的更多相关文章

  1. 1.6 Python基础知识 - for循环

    在循环语句中,除了while循环外,还有一种循环叫for循环的循环语句,for循环语句用于遍历可迭代(什么是迭代?以及迭代的相关知识,我们到后面再进行阐述,这里只要记住就可以了.)对象集合中的元素,并 ...

  2. python基础知识(循环语句)

    for循环.while循环.循环嵌套 for 迭代变量 In 对象: 循环体 range(start,end,step) 第一个和第三个可以省略生成一系列的连续整数 start 包括起始值 end  ...

  3. Python开发【第二篇】:Python基础知识

    Python基础知识 一.初识基本数据类型 类型: int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位 ...

  4. python 基础知识(一)

    python 基础知识(一) 一.python发展介绍 Python的创始人为Guido van Rossum.1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本 ...

  5. Python基础——for/while循环

    Python版本:3.6.2  操作系统:Windows  作者:SmallWZQ 上学期间,常常遇到这样的情景:为了惩罚学生,老师会说:"XXX,你先去操场上跑10圈再回来继续反省.&qu ...

  6. python 爬虫与数据可视化--python基础知识

    摘要:偶然机会接触到python语音,感觉语法简单.功能强大,刚好朋友分享了一个网课<python 爬虫与数据可视化>,于是在工作与闲暇时间学习起来,并做如下课程笔记整理,整体大概分为4个 ...

  7. python基础知识小结-运维笔记

    接触python已有一段时间了,下面针对python基础知识的使用做一完整梳理:1)避免‘\n’等特殊字符的两种方式: a)利用转义字符‘\’ b)利用原始字符‘r’ print r'c:\now' ...

  8. Python基础知识(五)

    # -*- coding: utf-8 -*-# @Time : 2018-12-25 19:31# @Author : 三斤春药# @Email : zhou_wanchun@qq.com# @Fi ...

  9. Python 基础知识(一)

    1.Python简介 1.1.Python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆(中文名字:龟叔)为了在阿姆斯特丹打发时 ...

随机推荐

  1. uniq---报告或忽略文件中的重复行

    uniq命令用于报告或忽略文件中的重复行,一般与sort命令结合使用. 语法 uniq(选项)(参数) 选项 -c或——count:在每列旁边显示该行重复出现的次数: -d或--repeated:仅显 ...

  2. Mysql学习总结(9)——MySql视图原理讲解与使用大全

    一. 视图概述 视图是一个虚拟表,其内容由查询定义.同真实的表一样,视图包含一系列带有名称的列和行数据.但是,视图并不在数据库中以存储的数据值集形式存在.行和列数据来自由定义视图的查询所引用的表,并且 ...

  3. 这是一套Java菜鸟到大牛的学习路线之高级教程,由工作了10年的资深Java架构师整理。

    这是一套Java菜鸟到大牛的学习路线之高级教程,由工作了10年的资深Java架构师整理.        01-java高级架构师设计-基础深入        J2SE深入讲解        Java多 ...

  4. ubuntu adb 安装

    ubuntu 下adb 安装,其实就是下载一个adb,然后给它赋予可执行权限,最后在环境变量里添加一下罢了.具体如下 1.下载adb 这个工具其实是在sdk工具包里面的platform-tools文件 ...

  5. amaze ui表格斑马纹效果

    amaze ui表格斑马纹效果 需要注意的是样式的写法,都是 am-table- ,很好记的 如果是条纹就是striped,如果是hover状态就是hover 用法很简单,点对应class,不同的cl ...

  6. 关于exports 和 module.exports

    本文来源为node.js社区附上链接 http://cnodejs.org/topic/5231a630101e574521e45ef8 require 用来加载代码,而 exports 和 modu ...

  7. java为什么要定义接口等相关解释

    1.接口的作用是实现多重继承  因为只能继承一个类(规定的) 2.一个类只能继承一个父类,但是可以实现一个或多个接口 3.abstract关键词能让你在类里创建一个或多个没有定义的方法—你给出接口,但 ...

  8. Atcoder AGC 019 A,B

    A - Ice Tea Store Time limit : 2sec / Memory limit : 256MB Score : 300 points Problem Statement You' ...

  9. 二分图简单概念&&HDU 2063

    二分图: 二分图又称作二部图,是图论中的一种特殊模型. 设G=(V,E)是一个无向图,如果顶点V可分割为两个互不相交的子集(A,B),并且图中的每条边(i,j)所关联的两个顶点i和j分别属于这两个不同 ...

  10. Gym 100952 B. New Job

    B. New Job time limit per test 1 second memory limit per test 64 megabytes input standard input outp ...