python3 while循环语句_python While 循环语句

python While 循环语句

发布时间:2018-02-12 16:46:28编辑:admin阅读(2055)

python 编程中 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。

其基本形式为:while 判断条件:

执行语句……

执行语句可以是单个语句或语句块。判断条件可以是任何表达式,任何非零、或非空(null)的值均为true。

当判断条件假false时,循环结束。

执行流程图如下:

0514256430faf76d015a49d2158f2df0.png

还是上一篇文章,讲的猜年龄的例子,需要无限次数执行

可以使用while循环来做,代码如下:#!/usr/bin/env python

# coding: utf-8

__author__ = 'www.py3study.com'

age_of_oldboy = 56

while True:

guess_age = int(input("guess age:"))

if guess_age == age_of_oldboy:

print("yes, you got it.")

break

elif guess_age > age_of_oldboy:

print("think smaller...")

else:

print("think bigger!")

执行效果如下:

8ba6bbb53841aa401faed95472b4a9c5.gif

break 表示跳出循环,否则程序无法退出

如果不想无限次数猜,只限制3次机会,怎么做呢?代码如下:#!/usr/bin/env python

# coding: utf-8

__author__ = 'www.py3study.com'

age_of_oldboy = 56

#初始次数

count = 0

while True:

if count == 3:

print("only allow 3 guesses!")

break

guess_age = int(input("guess age:"))

if guess_age == age_of_oldboy:

print("yes, you got it.")

break

elif guess_age > age_of_oldboy:

print("think smaller...")

else:

print("think bigger!")

#每次执行加1

count += 1

执行效果如下:

07ecc7f416a4d67b98e7987598e4bed9.gif

代码还可以优化一下,如下:#!/usr/bin/env python

# coding: utf-8

__author__ = 'www.py3study.com'

age_of_oldboy = 56

#初始次数

count = 0

#判断次数,是否小于3次

while count 

guess_age = int(input("guess age:"))

if guess_age == age_of_oldboy:

print("yes, you got it.")

break

elif guess_age > age_of_oldboy:

print("think smaller...")

else:

print("think bigger!")

#每次执行加1

count += 1

#判断执行次数

if count == 3:

#提示只允许猜3次

print("only allow 3 guesses!")

上面代码,表示针对某一个条件做循环。

最后,当尝试3次之后,提示信息,程序结束。

针对最后的if判断,其实是可以省略的,代码如下:#!/usr/bin/env python

# coding: utf-8

__author__ = 'www.py3study.com'

age_of_oldboy = 56

#初始次数

count = 0

#判断次数,是否小于3次

while count 

guess_age = int(input("guess age:"))

if guess_age == age_of_oldboy:

print("yes, you got it.")

break

elif guess_age > age_of_oldboy:

print("think smaller...")

else:

print("think bigger!")

#每次执行加1

count += 1

else:

#提示只允许猜3次

print("only allow 3 guesses!")

为什么一个else就搞定了呢?

这就是python优秀的地方

当次数小于3次,可以继续猜

否则就必定大于3次,程序直接输出提示信息,程序退出。

再来加一个条件,当次数达到3次的时候,提示是否继续?输入y继续,输入n,程序终止!

代码如下:#!/usr/bin/env python

# coding: utf-8

__author__ = 'www.py3study.com'

age_of_oldboy = 56

#初始次数

count = 0

#判断次数,是否小于3次

while count 

guess_age = int(input("guess age:"))

if guess_age == age_of_oldboy:

print("yes, you got it.")

break

elif guess_age > age_of_oldboy:

print("think smaller...")

else:

print("think bigger!")

#每次执行加1

count += 1

#当次数达到3次的时候

if count == 3:

#提示是否继续游戏?

continue_confirm = input("Do you want to continue y/n ?")

#不输入n时

if continue_confirm != "n":

#次数重置为0

count = 0

执行效果如下:

05744456ef8530b6a38c1341edbf7b9a.gif

关键字:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/417394.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

笔记:Zygote和SystemServer进程启动过程

简述 Android设备启动过程中,先是Linux内核加载完,接着Android中的第一个进程init启动,它会启动一些需要开机启动的进程。 Zygote就是进程init启动起来的。Android中所有应用程序进程,以及运行系统关键服务的System进程都是由Zygo…

C中执行指令/程序

//执行并等待程序运行完毕system("E:\\code\\Test\\Debug\\MyEditor.exe"); //暂停system("pause");

python中怎么精确20位_Python中的精确处理

Python可以使用不同的函数来处理浮点数的精度。数学模块中定义了大多数用于精确处理的函数。因此,要使用它们,首先我们必须将math模块导入到当前命名空间中。import math现在,我们将看到一些用于精确处理的功能。该trunc()方法该trunc()方法用…

Axure 共享强制签出签入

签出时点击不签出编辑全部——确定修改后签入时点击全部偷偷签出——确定注意一定要修改后,否则无法检测到修改,不会执行签入

ubuntu mysql混合开发_mysql5.7主从同步 ubuntu

实现环境:| System   | mysql     | ip       ||主ubuntu  | mysql-5.7.24 | 10.192.209.122 ||从ubuntu  | mysql-5.7.39 | 10.192.209.43 |注:从服务器的mysql版本最好和主服务器相同,或者大于主服务器版本MySQL主…

关于逐项作用函数的用法

关于逐项作用函数的用法讲一下Thread这个函数的用法,其中后面两个用法很好用,也常常被忽略。用法一:比较常用用法二:我觉得这一种是很实用的有拓展的方法用法三:构造一种映射关系,在配合 Association[] 关联…

IIS Service Unavailable问题

应用程序池被两个.Net版本的网站使用,不同.Net版本的网站应该用不同的应用程序池,服务器上最好是每个网站一个应用程序池,避免某个网站导致应用程序池停止运行而影响其他网站。

博客园的博客终于开通了

楼主来了博客园不知不觉已经1年5个月,实际上早就知道博客园的存在,一直没注册。 在园子里,感觉时间过得好快,期间学习到了很多东西,唯一不足的是没有及时记下心得和笔记。 现在有些知识点又忘得差不多,好记…

linux搭建java开发环境_linux中搭建java开发环境

今天试着在Linux下面搭建java开发环境,现总结一下具体步骤。1、JDK的安装1.6 版本cd /optmkdir java执行下面命令安装JDK(首先创建/opt/java目录)tar -xvf jdk-7u7-linux-i586.tar.gz -C /opt/javaln -s /opt/java/jdk1.7.0_09 /opt/java/jdk 创建一个链接vi /etc/f…

js cookie操作

//cookie操作3个方法//设置cookiefunction setCookie(name, value) {var argv setCookie.arguments;var argc setCookie.arguments.length;var expires (argc > 2) ? argv[2] : null;if (expires ! null) {var LargeExpDate new Date();LargeExpDate.setTime(LargeExpD…

SQLServer常用系统视图

数据库 sys.databases 数据库文件 sys.master_files对象 sys.objects表 sys.tables存储过程 sys.procedures列 sys.columns架构 sys.schemas索引 sys.indexes

java8多线程_Java8——三种多线程方式

1、多线程的使用方式1.1、继承Thread类继承Thread并重写run()方法,Thread类中的start方法会去调用系统的方法执行相应的线程。实际上Thread也是实现了Runable接口的,从该类的文档中我们能找到。1.2、实现Runable接口实现Runable接口,并重写ru…

重构指南 - 引入参数对象(Introduce Parameter Object)

当一个方法的参数超过3个以上,就可以考虑将参数封装成一个对象。将参数封装成对象后提高了代码的可读性,并且该参数对象也可以供多个方法调用,以后如果增加删除参数,方法本身不需要修改,只需要修改参数对象就可以。重构…

git clone 时候出现Please make sure you have the correct access rights and the repository exists.

输入 git clone 命令时出现Please make sure you have the correct access rights and the repository exists.错误,出现改问题的原因是git服务器没有存储本地ssh密钥。 解决步骤: 1. 删除 .ssh 文件夹【C:\Users\(本地用户名)\.ssh】 中的 known_host…

java io之图片存取

一:建表 二:获取数据库连接 1:导入mysql的驱动jar包,mysql-connector-java-5.1.8-bin.jar 2:写代码连接数据库,如下: 1 /**2 * 3 */ 4 package com.hlcui.file; 5 6 import java.sql.Connec…