python3 while循环语句_python While 循环语句
python While 循環(huán)語(yǔ)句
發(fā)布時(shí)間:2018-02-12 16:46:28編輯:admin閱讀(2055)
python 編程中 while 語(yǔ)句用于循環(huán)執(zhí)行程序,即在某條件下,循環(huán)執(zhí)行某段程序,以處理需要重復(fù)處理的相同任務(wù)。
其基本形式為:while?判斷條件:
執(zhí)行語(yǔ)句……
執(zhí)行語(yǔ)句可以是單個(gè)語(yǔ)句或語(yǔ)句塊。判斷條件可以是任何表達(dá)式,任何非零、或非空(null)的值均為true。
當(dāng)判斷條件假false時(shí),循環(huán)結(jié)束。
執(zhí)行流程圖如下:
還是上一篇文章,講的猜年齡的例子,需要無限次數(shù)執(zhí)行
可以使用while循環(huán)來做,代碼如下:#!/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!")
執(zhí)行效果如下:
break 表示跳出循環(huán),否則程序無法退出
如果不想無限次數(shù)猜,只限制3次機(jī)會(huì),怎么做呢?代碼如下:#!/usr/bin/env?python
#?coding:?utf-8
__author__?=?'www.py3study.com'
age_of_oldboy?=?56
#初始次數(shù)
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!")
#每次執(zhí)行加1
count?+=?1
執(zhí)行效果如下:
代碼還可以優(yōu)化一下,如下:#!/usr/bin/env?python
#?coding:?utf-8
__author__?=?'www.py3study.com'
age_of_oldboy?=?56
#初始次數(shù)
count?=?0
#判斷次數(shù),是否小于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!")
#每次執(zhí)行加1
count?+=?1
#判斷執(zhí)行次數(shù)
if?count?==?3:
#提示只允許猜3次
print("only?allow?3?guesses!")
上面代碼,表示針對(duì)某一個(gè)條件做循環(huán)。
最后,當(dāng)嘗試3次之后,提示信息,程序結(jié)束。
針對(duì)最后的if判斷,其實(shí)是可以省略的,代碼如下:#!/usr/bin/env?python
#?coding:?utf-8
__author__?=?'www.py3study.com'
age_of_oldboy?=?56
#初始次數(shù)
count?=?0
#判斷次數(shù),是否小于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!")
#每次執(zhí)行加1
count?+=?1
else:
#提示只允許猜3次
print("only?allow?3?guesses!")
為什么一個(gè)else就搞定了呢?
這就是python優(yōu)秀的地方
當(dāng)次數(shù)小于3次,可以繼續(xù)猜
否則就必定大于3次,程序直接輸出提示信息,程序退出。
再來加一個(gè)條件,當(dāng)次數(shù)達(dá)到3次的時(shí)候,提示是否繼續(xù)?輸入y繼續(xù),輸入n,程序終止!
代碼如下:#!/usr/bin/env?python
#?coding:?utf-8
__author__?=?'www.py3study.com'
age_of_oldboy?=?56
#初始次數(shù)
count?=?0
#判斷次數(shù),是否小于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!")
#每次執(zhí)行加1
count?+=?1
#當(dāng)次數(shù)達(dá)到3次的時(shí)候
if?count?==?3:
#提示是否繼續(xù)游戲?
continue_confirm?=?input("Do?you?want?to?continue?y/n??")
#不輸入n時(shí)
if?continue_confirm?!=?"n":
#次數(shù)重置為0
count?=?0
執(zhí)行效果如下:
關(guān)鍵字:
總結(jié)
以上是生活随笔為你收集整理的python3 while循环语句_python While 循环语句的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VC维理论
- 下一篇: python自定义切片_自定义Pytho