亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python中input輸入與While循環(huán)超詳細(xì)講解

 更新時(shí)間:2025年07月01日 09:27:48   作者:Cyyyy_g  
python是一種廣泛使用的解釋型、高級(jí)和通用的編程語(yǔ)言,它支持多種編程范型,包括函數(shù)式、指令式、結(jié)構(gòu)化、面向?qū)ο蠛头瓷涫骄幊痰?這篇文章主要介紹了Python中input輸入與While循環(huán)的相關(guān)資料,需要的朋友可以參考下

一、用戶輸入:input()函數(shù)的全面解析

1. input()的基礎(chǔ)用法

功能:暫停程序執(zhí)行,等待用戶輸入文本,并以字符串形式返回輸入內(nèi)容。

示例:獲取用戶姓名并輸出問(wèn)候語(yǔ)  

name = input("請(qǐng)輸入你的姓名:")   #用戶輸入"張三"

print(f"你好,{name}!")   #輸出:你好,張三!

關(guān)鍵點(diǎn):  

  無(wú)論用戶輸入數(shù)字、符號(hào)還是文字,input()始終返回字符串。  

  提示語(yǔ)可包含說(shuō)明信息,引導(dǎo)用戶輸入符合要求的數(shù)據(jù)。

2. 數(shù)值輸入與類型轉(zhuǎn)換

問(wèn)題:用戶輸入的數(shù)字會(huì)被視為字符串,無(wú)法直接用于數(shù)學(xué)運(yùn)算。  

解決方案:使用`int()`或`float()`將字符串轉(zhuǎn)換為數(shù)值類型。  

# 示例:計(jì)算圓的周長(zhǎng)(需半徑為數(shù)值)

radius_str = input("請(qǐng)輸入圓的半徑:")  # 用戶輸入"5"

radius = float(radius_str)  # 轉(zhuǎn)換為浮點(diǎn)數(shù)

circumference = 2 * 3.14 * radius

print(f"周長(zhǎng)為:{circumference}")  # 輸出:周長(zhǎng)為:31.4

注意:若用戶輸入非數(shù)值內(nèi)容(如字母),轉(zhuǎn)換會(huì)報(bào)錯(cuò),需用`try-except`處理(見(jiàn)后文錯(cuò)誤處理)。

3. 字符串拼接與+=運(yùn)算符

功能:+=用于將一個(gè)字符串追加到另一個(gè)字符串末尾,等價(jià)于變量 = 變量 + 字符串。  

# 示例:逐行收集用戶輸入并拼接
prompt = ""
while True:
    line = input("請(qǐng)輸入內(nèi)容(輸入q結(jié)束):")
    if line == "q":
        break
    prompt += line + "\n"  # 追加輸入內(nèi)容并換行
print("收集的內(nèi)容:\n", prompt)

應(yīng)用場(chǎng)景:構(gòu)建多行文本、日志記錄、用戶輸入?yún)R總等。

二、while循環(huán):條件驅(qū)動(dòng)的重復(fù)執(zhí)行

1. while循環(huán)的基本結(jié)構(gòu)

語(yǔ)法:  

while 條件表達(dá)式:

    循環(huán)體代碼  # 條件為True時(shí)重復(fù)執(zhí)行

執(zhí)行邏輯:  

  先判斷條件表達(dá)式,若為`True`則執(zhí)行循環(huán)體,執(zhí)行完畢后再次判斷條件,直至條件為False時(shí)退出循環(huán)。  

# 示例:打印1到5的數(shù)字
num = 1
while num <= 5:
    print(num)
    num += 1  # 關(guān)鍵:修改循環(huán)變量,避免無(wú)限循環(huán)

  輸出:  

1

2

3

4

5

2. 循環(huán)控制語(yǔ)句:break與continue

break:強(qiáng)制退出循環(huán)  

  用于在滿足特定條件時(shí)立即終止循環(huán),跳出整個(gè)循環(huán)體。  

# 示例:用戶輸入"exit"時(shí)退出程序
while True:  # 無(wú)限循環(huán)(需用break退出)
    command = input("請(qǐng)輸入命令(輸入exit退出):")
    if command == "exit":
        print("退出程序")
        break
    print(f"執(zhí)行命令:{command}")

continue:跳過(guò)本次循環(huán)  

  用于跳過(guò)當(dāng)前循環(huán)中的剩余代碼,直接進(jìn)入下一次循環(huán)條件判斷。  

# 示例:打印1到10中的偶數(shù)(跳過(guò)奇數(shù))
num = 0
while num < 10:
    num += 1
    if num % 2 != 0:  # 若是奇數(shù),跳過(guò)打印
        continue
    print(f"偶數(shù):{num}")

  輸出:  

偶數(shù):2

偶數(shù):4

偶數(shù):6

偶數(shù):8

偶數(shù):10

3. 避免無(wú)限循環(huán)

原因:若循環(huán)條件始終為True,且無(wú)break語(yǔ)句,循環(huán)會(huì)無(wú)限執(zhí)行(需手動(dòng)終止,如Ctrl+C)。  

解決方案:  

  確保循環(huán)體內(nèi)有修改循環(huán)條件的代碼(如`num += 1`)。  

  添加break作為退出條件(如用戶輸入特定值)。  

# 錯(cuò)誤示例:無(wú)限循環(huán)(缺少num更新)
num = 1
while num <= 5:
    print(num)
# 修正后:
num = 1
while num <= 5:
    print(num)
    num += 1

三、while循環(huán)與數(shù)據(jù)結(jié)構(gòu)的結(jié)合

1. 列表:動(dòng)態(tài)增刪元素

場(chǎng)景:需要根據(jù)用戶輸入動(dòng)態(tài)添加元素,或遍歷列表時(shí)修改列表(`for`循環(huán)遍歷列表時(shí)不建議修改)。  

示例:收集用戶輸入的多個(gè)數(shù)字  

numbers = []
while len(numbers) < 3:  # 限制輸入3個(gè)數(shù)字
    num = int(input("請(qǐng)輸入數(shù)字:"))
    numbers.append(num)
print("輸入的數(shù)字列表:", numbers)

刪除列表中所有特定值  

  remove()只能刪除首個(gè)匹配項(xiàng),結(jié)合while循環(huán)可刪除所有匹配項(xiàng)。  

fruits = ["蘋果", "香蕉", "蘋果", "橘子"]
while "蘋果" in fruits:  # 循環(huán)條件:列表中存在"蘋果"
    fruits.remove("蘋果")
print("刪除后的列表:", fruits)  # 輸出:['香蕉', '橘子']

2. 字典:動(dòng)態(tài)構(gòu)建鍵值對(duì)

場(chǎng)景:逐個(gè)輸入鍵值對(duì),構(gòu)建用戶信息字典。  

user_info = {}
while True:
    key = input("請(qǐng)輸入字段名(輸入q結(jié)束):")
    if key == "q":
        break
    value = input(f"請(qǐng)輸入{key}的值:")
    user_info[key] = value
print("用戶信息:", user_info)

  輸入示例:  

字段名:name → 值:Alice  

字段名:age → 值:25  

字段名:q → 結(jié)束輸入  

輸出:  

{'name': 'Alice', 'age': '25'}

四、數(shù)值運(yùn)算與循環(huán):求模與累加

1. 求模運(yùn)算符(%)

功能:返回兩數(shù)相除的余數(shù),常用于判斷奇偶性、周期性任務(wù)等。  

# 示例:判斷奇數(shù)/偶數(shù)
num = int(input("請(qǐng)輸入整數(shù):"))
if num % 2 == 0:
    print(f"{num}是偶數(shù)")
else:
    print(f"{num}是奇數(shù)")

應(yīng)用:循環(huán)中每n次執(zhí)行特定操作  

# 示例:每3次循環(huán)打印提示
count = 0
while count < 10:
    count += 1
    if count % 3 == 0:
        print(f"第{count}次:執(zhí)行特殊操作")
    else:
        print(f"第{count}次:常規(guī)操作")

2. 累加與累乘

累加器模式:初始化變量為0,循環(huán)中不斷相加。  

# 計(jì)算1+2+...+100的和
total = 0
num = 1
while num <= 100:
    total += num
    num += 1
print("累加和:", total)  # 輸出:5050

累乘器模式:初始化變量為1,循環(huán)中不斷相乘。  

# 計(jì)算5!(5的階乘)
factorial = 1
num = 1
while num <= 5:
    factorial *= num
    num += 1
print("階乘結(jié)果:", factorial)  # 輸出:120

五、嵌套循環(huán):解決多層邏輯問(wèn)題

1. 嵌套while循環(huán)

結(jié)構(gòu):在一個(gè)`while`循環(huán)體內(nèi)包含另一個(gè)`while`循環(huán),用于處理多層循環(huán)邏輯(如行與列的控制)。  

# 示例:打印3行3列的星號(hào)矩陣
row = 0
while row < 3:
    col = 0
    while col < 3:
        print("*", end=" ")  # end=" "表示不換行,用空格分隔
        col += 1
    print()  # 每行結(jié)束后換行
    row += 1

輸出:  

* * *  

* * *  

* * *  

2. while與for循環(huán)混合使用

場(chǎng)景:外層用`while`控制循環(huán)次數(shù),內(nèi)層用`for`遍歷數(shù)據(jù)。  

# 示例:多次輸入姓名并逐個(gè)打印
count = 0
while count < 2:
    names = input("請(qǐng)輸入姓名(用逗號(hào)分隔):").split(",")
    for name in names:
        print(f"姓名:{name.strip()}")  # strip()去除空格
    count += 1

六、錯(cuò)誤處理:確保程序健壯性

1. 數(shù)值轉(zhuǎn)換異常處理

問(wèn)題:用戶輸入非數(shù)值內(nèi)容時(shí),`int(input())`會(huì)拋出`ValueError`。  

解決方案:用`try-except`捕獲異常,提示用戶重新輸入。  

while True:
    try:
        age = int(input("請(qǐng)輸入年齡(整數(shù)):"))
        print(f"年齡為:{age}")
        break
    except ValueError:
        print("輸入無(wú)效,請(qǐng)重新輸入整數(shù)!")

2. 輸入驗(yàn)證:確保數(shù)據(jù)有效性

場(chǎng)景:限制輸入范圍(如年齡0-150)、禁止空輸入等。  

while True:
    username = input("請(qǐng)輸入用戶名(非空):").strip()
    if not username:  # 空字符串為False
        print("用戶名不能為空!")
        continue  # 跳過(guò)本次循環(huán),重新輸入
    if len(username) < 3:
        print("用戶名至少3個(gè)字符!")
        continue
    print(f"歡迎,{username}!")
    break

七、常見(jiàn)錯(cuò)誤與注意事項(xiàng)

1. 無(wú)限循環(huán)

原因:循環(huán)條件始終為True且無(wú)`break`,或忘記更新循環(huán)變量。  

調(diào)試技巧:在循環(huán)體內(nèi)添加`print(循環(huán)變量)`,觀察變量是否按預(yù)期變化。

2. 類型錯(cuò)誤

原因:未將`input()`結(jié)果轉(zhuǎn)換為數(shù)值類型,直接用于數(shù)學(xué)運(yùn)算。  

# 錯(cuò)誤示例:字符串相加
a = input("a=")  # 輸入"3"
b = input("b=")  # 輸入"5"
print(a + b)  # 輸出"35"(字符串拼接)

修正:  

a = int(input("a="))
b = int(input("b="))
print(a + b)  # 輸出8(數(shù)值相加)

3. break與continue混淆

區(qū)別:  

  break:跳出整個(gè)循環(huán),不再執(zhí)行后續(xù)循環(huán)。  

  continue:跳過(guò)本次循環(huán)的剩余代碼,繼續(xù)下一次循環(huán)。

總結(jié):核心知識(shí)點(diǎn)與應(yīng)用場(chǎng)景

知識(shí)點(diǎn)

關(guān)鍵說(shuō)明

示例場(chǎng)景

input()函數(shù)

獲取用戶輸入,返回字符串,需配合類型轉(zhuǎn)換處理數(shù)值

計(jì)算器輸入、用戶注冊(cè)信息收集

while循環(huán)

條件驅(qū)動(dòng)的循環(huán),適用于未知循環(huán)次數(shù)的場(chǎng)景

交互式菜單、數(shù)據(jù)驗(yàn)證循環(huán)

break/continue

控制循環(huán)流程,break退出循環(huán),continue跳過(guò)本次迭代

輸入`quit`退出程序、過(guò)濾無(wú)效數(shù)據(jù)

列表與字典操作

結(jié)合循環(huán)動(dòng)態(tài)增刪元素,處理用戶輸入的不確定數(shù)據(jù)

購(gòu)物車商品管理、用戶信息動(dòng)態(tài)存儲(chǔ)

數(shù)值運(yùn)算

求模判斷奇偶性、累加/累乘計(jì)算

統(tǒng)計(jì)總分、計(jì)算階乘

錯(cuò)誤處理

捕獲輸入異常,驗(yàn)證數(shù)據(jù)有效性

防止程序因用戶錯(cuò)誤輸入崩潰

通過(guò)掌握以上內(nèi)容,可靈活運(yùn)用用戶輸入和while循環(huán)構(gòu)建交互式程序,處理動(dòng)態(tài)數(shù)據(jù),并確保程序的健壯性與用戶體驗(yàn)。

到此這篇關(guān)于Python中input輸入與While循環(huán)的文章就介紹到這了,更多相關(guān)Python input輸入與While循環(huán)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Django-Xadmin后臺(tái)首頁(yè)添加小組件報(bào)錯(cuò)的解決方案

    Django-Xadmin后臺(tái)首頁(yè)添加小組件報(bào)錯(cuò)的解決方案

    這篇文章主要介紹了Django-Xadmin后臺(tái)首頁(yè)添加小組件報(bào)錯(cuò)的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • Python探索之靜態(tài)方法和類方法的區(qū)別詳解

    Python探索之靜態(tài)方法和類方法的區(qū)別詳解

    這篇文章主要介紹了Python探索之靜態(tài)方法和類方法的區(qū)別詳解,小編覺(jué)得還是挺不錯(cuò)的,這里分享給大家,供需要的朋友參考。
    2017-10-10
  • Python下簡(jiǎn)易的單例模式詳解

    Python下簡(jiǎn)易的單例模式詳解

    這篇文章主要介紹了Python下簡(jiǎn)易的單例模式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • 使用Python制作一個(gè)惡意軟件刪除工具

    使用Python制作一個(gè)惡意軟件刪除工具

    這篇文章主要為大家詳細(xì)介紹了如何使用Python制作一個(gè)惡意軟件刪除工具,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-02-02
  • 如何利用python多線程爬取天氣網(wǎng)站圖片并保存

    如何利用python多線程爬取天氣網(wǎng)站圖片并保存

    最近做個(gè)天 氣方面的APP需要用到一些天氣數(shù)據(jù),所以下面這篇文章主要給大家介紹了關(guān)于如何利用python多線程爬取天氣網(wǎng)站圖片并保存的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2021-11-11
  • Python壓縮包處理模塊zipfile和py7zr操作代碼

    Python壓縮包處理模塊zipfile和py7zr操作代碼

    目前對(duì)文件的壓縮和解壓縮比較常用的格式就是zip格式和7z格式,這篇文章主要介紹了Python壓縮包處理模塊zipfile和py7zr,需要的朋友可以參考下
    2022-06-06
  • python numpy創(chuàng)造圖像矩陣示例詳解

    python numpy創(chuàng)造圖像矩陣示例詳解

    這篇文章主要為大家介紹了python numpy創(chuàng)造圖像矩陣示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08
  • Django框架安裝方法圖文詳解

    Django框架安裝方法圖文詳解

    這篇文章主要介紹了Django框架安裝方法,結(jié)合圖文與實(shí)例形式詳細(xì)分析了Django框架的下載、安裝簡(jiǎn)單使用方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2019-11-11
  • python使用裝飾器作日志處理的方法

    python使用裝飾器作日志處理的方法

    今天小編就為大家分享一篇python使用裝飾器作日志處理的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-07-07
  • python numpy 按行歸一化的實(shí)例

    python numpy 按行歸一化的實(shí)例

    今天小編就為大家分享一篇python numpy 按行歸一化的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01

最新評(píng)論