日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

【Python入门教程】第57篇 循环进阶之模拟do…while语句

發(fā)布時(shí)間:2024/3/12 python 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Python入门教程】第57篇 循环进阶之模拟do…while语句 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

本篇我們學(xué)習(xí)如何在 Python 中模擬 do…while 循環(huán)語(yǔ)句。

do…while 循環(huán)語(yǔ)句

許多編程語(yǔ)言,例如 JavaScript、Java、 C# 等,都提供了 do…while 循環(huán)語(yǔ)句。這種循環(huán)語(yǔ)句和 while 循環(huán)的不同之處在于它至少會(huì)迭代一次。因?yàn)樗诿看蔚Y(jié)束時(shí)檢查循環(huán)條件,當(dāng)循環(huán)條件為 True 時(shí)繼續(xù)執(zhí)行迭代。

以下是 Python 中實(shí)現(xiàn) do…while 循環(huán)的偽代碼:

do# code block while condition

Python 目前還不支持這種 do…while 循環(huán)語(yǔ)法。不過(guò),我們可以使用 while 循環(huán)加上 break 語(yǔ)句模擬這種語(yǔ)句。

首先,我們可以為 while 循環(huán)指定一個(gè)總是成立的條件 Ture,例如:

while True:# code block

這種方法可以用于實(shí)現(xiàn)代碼塊的第一次執(zhí)行。實(shí)際上這是一個(gè)無(wú)限循環(huán),我們需要定義退出循環(huán)的條件:

while True:# code block# break out of the loopif condition:break

以上語(yǔ)法中,代碼塊至少會(huì)被執(zhí)行一次,每次迭代之后會(huì)檢查 condition。

do…while 循環(huán)模擬示例

假如我們需要開發(fā)一個(gè)猜數(shù)字的游戲,邏輯如下:

  • 首先,生成一個(gè) 0 到 10 之間的隨機(jī)數(shù)字。
  • 然后,重復(fù)提示用戶輸入一個(gè)數(shù)字。如果輸入的數(shù)字小于或者大于生成的隨機(jī)數(shù),顯示相應(yīng)的提示。如果輸入的數(shù)字等于隨機(jī)數(shù),結(jié)束循環(huán)。

以下代碼使用 while 循環(huán)實(shí)現(xiàn)猜數(shù)字游戲:

from random import randint# determine the range MIN = 0 MAX = 10# generate a secret number secret_number = randint(MIN, MAX)# initialize the attempt attempt = 0# The first attempt input_number = int(input(f'Enter a number between {MIN} and {MAX}:')) attempt += 1if input_number > secret_number:print('It should be smaller.') elif input_number < secret_number:print('It should be bigger.') else:print(f'Bingo! {attempt} attempt(s)')# From the second attempt while input_number != secret_number:input_number = int(input(f'Enter a number between {MIN} and {MAX}:'))attempt += 1if input_number > secret_number:print('It should be smaller.')elif input_number < secret_number:print('It should be bigger.')else:print(f'Bingo! {attempt} attempt(s)')

運(yùn)行程序并輸入一些數(shù)字:

Enter a number between 0 and 10:5 It should be bigger. Enter a number between 0 and 10:7 It should be bigger. Enter a number between 0 and 10:8 Bingo! 3 attempt(s)

由于 while 循環(huán)在迭代開始就執(zhí)行了條件檢查,所以需要重復(fù)編寫兩次提示用戶輸入和數(shù)字比較的代碼,循環(huán)之前寫一次,循環(huán)內(nèi)部寫一次。

為了避免這種重復(fù)的代碼,我們可以使用模擬的 do while 循環(huán)實(shí)現(xiàn)以上功能:

from random import randint# determine the range MIN = 0 MAX = 10# generate a secret number secret_number = randint(MIN, MAX)# initialize the attempt attempt = 0while True:attempt += 1input_number = int(input(f'Enter a number between {MIN} and {MAX}:'))if input_number > secret_number:print('It should be smaller.')elif input_number < secret_number:print('It should be bigger.')else:print(f'Bingo! {attempt} attempt(s)')break

以上代碼修改的內(nèi)容如下:

  • 首先,刪除了 while 循環(huán)之前的代碼。
  • 其次,增加了停止循環(huán) break 語(yǔ)句,當(dāng)輸入的數(shù)字等于隨機(jī)數(shù)時(shí)停止循環(huán)。

總結(jié)

  • Python 不支持 do…while 循環(huán)語(yǔ)句。
  • Python 可以使用 while 循環(huán)加上 break 語(yǔ)句模擬 do…while 循環(huán)。

總結(jié)

以上是生活随笔為你收集整理的【Python入门教程】第57篇 循环进阶之模拟do…while语句的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。