日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當(dāng)前位置:首頁(yè) > 科技  > 軟件

Python while循環(huán)的 12 個(gè)魔法技巧與實(shí)戰(zhàn)案例

來(lái)源: 責(zé)編: 時(shí)間:2024-06-19 15:36:42 165觀看
導(dǎo)讀今天我們要一起探索的是Python編程中一個(gè)超級(jí)實(shí)用又有趣的部分——while循環(huán)!想象一下,就像哈利波特的魔杖,while循環(huán)能讓我們一遍遍施展魔法,直到條件不再滿足。我們開(kāi)始這場(chǎng)魔法之旅吧!1. 基礎(chǔ)施法:Hello, World! 循環(huán)版m

今天我們要一起探索的是Python編程中一個(gè)超級(jí)實(shí)用又有趣的部分——while循環(huán)!想象一下,就像哈利波特的魔杖,while循環(huán)能讓我們一遍遍施展魔法,直到條件不再滿足。我們開(kāi)始這場(chǎng)魔法之旅吧!awG28資訊網(wǎng)——每日最新資訊28at.com

awG28資訊網(wǎng)——每日最新資訊28at.com

1. 基礎(chǔ)施法:Hello, World! 循環(huán)版

message = "Hello, World!"count = 0while count < 5:    print(message)    count += 1

這段代碼就是我們的魔法咒語(yǔ),它會(huì)重復(fù)打印“Hello, World!”五次。while count < 5:是我們的魔法條件,只要計(jì)數(shù)器count小于5,咒語(yǔ)就繼續(xù)生效!awG28資訊網(wǎng)——每日最新資訊28at.com

2. 魔法數(shù)字猜猜猜

讓我們來(lái)玩?zhèn)€游戲吧!計(jì)算機(jī)想了一個(gè)1到10之間的數(shù)字,你來(lái)猜。awG28資訊網(wǎng)——每日最新資訊28at.com

import randomnumber_to_guess = random.randint(1, 10)guess = Noneprint("我想了一個(gè)1到10的數(shù)字,你能猜到嗎?")while guess != number_to_guess:    guess = int(input("你的猜測(cè)是:"))    if guess < number_to_guess:        print("太低了,再試試。")    elif guess > number_to_guess:        print("太高了,加油!")print(f"恭喜你,猜對(duì)了!數(shù)字就是{number_to_guess}!")

通過(guò)循環(huán),直到你猜對(duì)為止,是不是很神奇?awG28資訊網(wǎng)——每日最新資訊28at.com

3. 施展無(wú)限循環(huán)的禁忌

小心使用!下面的代碼會(huì)陷入無(wú)盡的循環(huán),除非手動(dòng)停止程序。awG28資訊網(wǎng)——每日最新資訊28at.com

# 千萬(wàn)不要輕易嘗試!while True:    print("這可能會(huì)永遠(yuǎn)持續(xù)下去...")

這個(gè)“無(wú)限循環(huán)”在實(shí)際編程中要慎用,但有時(shí)也能成為解決問(wèn)題的巧妙手段。awG28資訊網(wǎng)——每日最新資訊28at.com

4. 使用break,逃離循環(huán)的束縛

當(dāng)我們達(dá)到某個(gè)特定條件時(shí),可以使用break咒語(yǔ)逃離循環(huán)。awG28資訊網(wǎng)——每日最新資訊28at.com

count = 0while True:    if count == 5:        break    print(count)    count += 1

一旦count達(dá)到5,我們就成功逃出了循環(huán)的圈套!awG28資訊網(wǎng)——每日最新資訊28at.com

5. continue:跳過(guò)不想執(zhí)行的部分

想象你在數(shù)數(shù),但跳過(guò)偶數(shù)。awG28資訊網(wǎng)——每日最新資訊28at.com

num = 0while num < 10:    num += 1    if num % 2 == 0:  # 如果是偶數(shù)        continue  # 跳過(guò)這次循環(huán),直接檢查下一個(gè)數(shù)    print(num)

這樣,就只打印奇數(shù)了,巧妙地避開(kāi)了偶數(shù)。awG28資訊網(wǎng)——每日最新資訊28at.com

6. 列表中的循環(huán)旅行

讓我們遍歷一個(gè)列表,每次取出一個(gè)元素。awG28資訊網(wǎng)——每日最新資訊28at.com

fruits = ["蘋果", "香蕉", "櫻桃"]index = 0while index < len(fruits):    print(fruits[index])    index += 1

就像在水果園里漫步,依次欣賞每個(gè)美味的果實(shí)。awG28資訊網(wǎng)——每日最新資訊28at.com

7. 嵌套循環(huán):雙重魔法

嵌套循環(huán)就像施展多重咒語(yǔ),一層接一層。awG28資訊網(wǎng)——每日最新資訊28at.com

rows = 5while rows > 0:    cols = 5    while cols > 0:        print("*", end=" ")        cols -= 1    print()  # 換行    rows -= 1

這段代碼會(huì)打印出一個(gè)星號(hào)的小金字塔,是不是很酷?awG28資訊網(wǎng)——每日最新資訊28at.com

8. 循環(huán)控制之else子句

你知道嗎?while循環(huán)后面還可以跟一個(gè)else,它會(huì)在循環(huán)正常結(jié)束(即沒(méi)有被break中斷)時(shí)執(zhí)行。awG28資訊網(wǎng)——每日最新資訊28at.com

number = 10found = Falsewhile number > 0:    if number == 5:        found = True        break    number -= 1else:    print("沒(méi)找到數(shù)字5。")

如果找到了數(shù)字5,循環(huán)就會(huì)被break,else部分不會(huì)執(zhí)行。如果沒(méi)有找到,else的內(nèi)容才會(huì)展現(xiàn)。awG28資訊網(wǎng)——每日最新資訊28at.com

9. 計(jì)算機(jī)的耐心:計(jì)算階乘

讓我們用while循環(huán)來(lái)計(jì)算一個(gè)數(shù)的階乘。awG28資訊網(wǎng)——每日最新資訊28at.com

number = 5factorial = 1while number > 1:    factorial *= number    number -= 1print(f"{5}的階乘是{factorial}")

這是數(shù)學(xué)和編程的美妙結(jié)合,簡(jiǎn)單而強(qiáng)大。awG28資訊網(wǎng)——每日最新資訊28at.com

10. 模擬倒計(jì)時(shí)火箭發(fā)射

countdown = 10print("準(zhǔn)備發(fā)射...")while countdown > 0:    print(countdown)    countdown -= 1print("點(diǎn)火!升空!")

模擬緊張刺激的倒計(jì)時(shí),感受即將飛向太空的激動(dòng)!awG28資訊網(wǎng)——每日最新資訊28at.com

11. 文件讀取:逐行施法

利用while循環(huán)逐行讀取文件內(nèi)容,就像一頁(yè)頁(yè)翻閱魔法書(shū)。awG28資訊網(wǎng)——每日最新資訊28at.com

with open("magic_book.txt", "r") as file:    line = file.readline()    while line:        print(line.strip())  # 去掉換行符        line = file.readline()

記得替換"magic_book.txt"為你的文件名哦!awG28資訊網(wǎng)——每日最新資訊28at.com

12. 自動(dòng)化測(cè)試的循環(huán)助手

在自動(dòng)化測(cè)試場(chǎng)景中,我們可能需要不斷嘗試直到某個(gè)條件達(dá)成。awG28資訊網(wǎng)——每日最新資訊28at.com

success = Falseattempt = 0max_attempts = 5while not success and attempt < max_attempts:    # 這里進(jìn)行測(cè)試操作,比如網(wǎng)頁(yè)登錄    print(f"嘗試第{attempt+1}次登錄...")    # 假設(shè)success是在某個(gè)條件滿足后設(shè)置為True    if some_test_condition():  # 假設(shè)函數(shù)判斷是否成功        success = True    else:        attempt += 1if success:    print("登錄成功!")else:    print("嘗試次數(shù)過(guò)多,登錄失敗。")

這展示了如何在不確定成功次數(shù)的情況下耐心嘗試。awG28資訊網(wǎng)——每日最新資訊28at.com

進(jìn)階技巧

13. 利用enumerate和while優(yōu)化遍歷

通常,我們用for循環(huán)配合enumerate遍歷列表時(shí)很常見(jiàn),但while同樣能完成這項(xiàng)任務(wù),只是方式不同。awG28資訊網(wǎng)——每日最新資訊28at.com

fruits = ['apple', 'banana', 'cherry']index = 0while index < len(fruits):    fruit, index = fruits[index], index + 1    print(fruit)

這里,我們通過(guò)同時(shí)更新索引和訪問(wèn)元素,模擬了enumerate的效果,展現(xiàn)了while循環(huán)的靈活性。awG28資訊網(wǎng)——每日最新資訊28at.com

14. 無(wú)限循環(huán)的高效利用:生成器

雖然之前提到了無(wú)限循環(huán)的禁忌,但當(dāng)結(jié)合生成器時(shí),它可以變得非常有用。awG28資訊網(wǎng)——每日最新資訊28at.com

def count_up():    num = 1    while True:        yield num        num += 1counter = count_up()for _ in range(5):    print(next(counter))

這段代碼創(chuàng)建了一個(gè)無(wú)限遞增的數(shù)字生成器。通過(guò)yield,我們可以在需要時(shí)暫停并恢復(fù)循環(huán),非常節(jié)省資源。awG28資訊網(wǎng)——每日最新資訊28at.com

15. 循環(huán)優(yōu)化:避免死循環(huán)

在設(shè)計(jì)循環(huán)時(shí),確保總有跳出循環(huán)的途徑。使用break或合適的條件判斷,防止程序陷入死循環(huán)。良好的循環(huán)設(shè)計(jì)是代碼健壯性的體現(xiàn)。awG28資訊網(wǎng)——每日最新資訊28at.com

16. 實(shí)戰(zhàn):斐波那契數(shù)列

斐波那契數(shù)列是一個(gè)經(jīng)典的編程練習(xí),讓我們用while循環(huán)來(lái)實(shí)現(xiàn)它。awG28資訊網(wǎng)——每日最新資訊28at.com

a, b = 0, 1count = 0while count < 10:    print(a, end=" ")    nth = a + b    a = b    b = nth    count += 1

這段代碼展示了如何使用while循環(huán)生成斐波那契數(shù)列的前10項(xiàng),通過(guò)不斷地交換變量值來(lái)達(dá)到目的。awG28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-94848-0.htmlPython while循環(huán)的 12 個(gè)魔法技巧與實(shí)戰(zhàn)案例

聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com

上一篇: 為什么高手都要用非阻塞IO?

下一篇: Go必知必會(huì):并發(fā)編程的核心channel

標(biāo)簽:
  • 熱門焦點(diǎn)
Top 主站蜘蛛池模板: 广元市| 嘉禾县| 景宁| 衡阳市| 武威市| 涿州市| 玛多县| 陈巴尔虎旗| 樟树市| 锦州市| 固原市| 鲜城| 芦溪县| 得荣县| 阳春市| 淮滨县| 肃南| 镇坪县| 洞头县| 夹江县| 全椒县| 宣恩县| 开化县| 奎屯市| 枞阳县| 兴山县| 安康市| 贞丰县| 响水县| 洪湖市| 恭城| 清水县| 烟台市| 遂川县| 石棉县| 绿春县| 乌兰浩特市| 贡山| 稻城县| 仁化县| 磐安县|