Python知識點4-嵌套循環break和continue使用死循環

一、循環【重點掌握】

1.嵌套循環

類似于嵌套if語句

語法:

while 表達式1:while 表達式2:語句
# 1.
# 循環5次,打印0~4
m = 0
while m < 5:print(m)m += 1
# 循環3次,打印0~2
n = 0
while n < 3:print(n)n += 1print("*" * 50)# 2.
# a.
# 外層循環
m = 0
while m < 5:# 內層循環n = 0while n < 3:print(f"{m}={n}")n += 1m += 1
# 外層循環:5次,內層循環:3次,總共打印15條print("*" * 50)# b
m = 0
n = 0
while m < 5:while n < 3:print(f"{m}={n}")n += 1m += 1# 注意:在代碼執行的過程中,不管循環語句是否嵌套,都是將循環執行完畢,后面的才有執行的機會print("*" * 50)# 3.應用:打印九九乘法表
"""行       列
1*1=1                                           1        1
1*2=2 2*2=4                                     2        2
1*3=3 2*3=6 3*3=9                               3         3
......1*9=9 2*9=18 3*9=27 4*9=36 .....   9*9=81       9           9規律:a.列*行=乘積b.行的取值范圍:1~9c.列的取值范圍:1~ 當前行數d.使用嵌套循環,外層循環控制的是行, 內層循環控制的是列
"""
# 外層循環:控制的是行
row = 1
while row <= 9:# 內層循環:控制的是列col = 1while col <= row:print(f"{col}*{row}={col * row}",end=" ")col += 1row += 1print()   # 換行for row in range(1,10):for col in range(1,row + 1):print(f"{col}*{row}={col * row}", end=" ")print()
2.break和continue
"""
【面試題】
break:打斷,表示結束當前循環【break書寫在哪個循環中,就結束哪個循環,就近原則】
continue:繼續,表示結束當前循環的本次循環,繼續下一次循環
"""# 1.break     *******
# a.
m = 0
while m < 10:print(m)m += 1
# 0-9print("*" * 30)# b
# 注意1:break是一個關鍵字,但是可以單獨作為一條語句使用
# 注意2:如果break應用在單層循環【while和for】中,在滿足條件的情況下,表示結束循環
m = 0
while m < 10:print(m)if m == 3:breakm += 1print("*" * 30)# c.
# 注意3:break應用在循環中,結束的是當前循環【就近原則】
m = 0
while m < 5:n = 0while n < 3:if m == 2:breakprint(f"{m}={n}")n += 1m += 1
# 唯獨沒有2=0 2=1 2=2print("*" * 30)m = 0
while m < 5:n = 0while n < 3:print(f"{m}={n}")if n == 1:breakn += 1m += 1print("*" * 30)# 2.continue
# m = 0
# while m < 10:
#     if m == 3:
#         # break
#         continue
#     print(m)
#     m += 1m = 0
while m < 10:if m == 3:m += 1continueprint(m)m += 1# 練習:驗證用戶的用戶名和密碼,當用戶名為root,密碼為abc的時候,表示驗證成功,
# 否則驗證失敗,失敗時允許重復輸入三次
error_num = 0
while True:username = input("請輸入用戶名:")password = input("請輸入密碼:")if username == 'root' and password == 'abc':print("登錄成功!")breakelse:print('登錄失敗,用戶名或密碼錯誤,請重新輸入')error_num += 1# 當error_num == 3則結束循環,否則循環繼續if error_num == 3:print("已經錯誤三次,禁止登錄!")breakelse:continue
3. else分支
"""
語法:
while  xxx:xxx
else:xxxfor 變量 in 容器:xxx
else:xxxfor 變量 in 容器:if xxx:xxxelse:xxx
else:xxx
"""# 1.注意1:當循環中沒有break語句時,循環執行完畢之后,else代碼塊最后都會被執行,不常用
m = 0
while m < 5:print(m)m += 1
else:print('else被執行了')for n in range(5):print(n)
else:print("else被執行~~~~")print("*" * 50)# 2.注意2:當循環中有break語句且break語句被執行了,則else不會執行   常用*******
# 如果break執行,則else不執行,如果break不執行,else會執行
m = 0
while m < 5:print(m)if m > 10:breakm += 1
else:print('else被執行了')for n in range(5):print(n)if n > 10:break
else:print("else被執行~~~~")# pass:占位語句,沒有實際含義,只是為了保證代碼結構的完整性,在實際操作中,用于暫時性的占位# 練習:從控制臺輸入一個數字,判斷該數是否是質數
# 質數【素數】:只能被1或它本身整除的數,最小的質數是2
num = input("請輸入一個數字:")
if num.isdigit():  # 非負數num = int(num)if num < 2:print(f"{num}不是質數")else:# 思路:判斷10是否是質數,只需要在2~9之間找到一個數,能整除10,則說明10不是質數for n in range(2,num):if num % n == 0:print(f"{num}不是質數")break    # 如果得到結論,可以提前結束循環else:print(f"{num}是質數")
else:print("輸入有誤")
4.死循環
# 1.語法
"""
while  1:passwhile  True:pass注意:死循環大多數結合break使用
"""# 2.練習:猜數字游戲
"""
a.從控制臺輸入一個數,和程序產生的隨機數進行比較,范圍為1~100
b.根據比較的結果輸入的數  >  隨機數,提示:你猜大了,往小了猜輸入的數  <  隨機數,提示:你猜小了,往大了猜輸入的數  ==  隨機數,提示:恭喜你,猜中了
"""
import  random
random_num = random.randint(1,100)
while True:input_num = int(input("請輸入1~100之間的整數:"))if input_num > random_num:print("你猜大了,往小了猜")elif input_num < random_num:print("你猜小了,往大了猜")else:print("恭喜你,猜中了")# 猜中表示游戲結束,則結束死循環break

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/92031.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/92031.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/92031.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

將HTML+JS+CSS數獨游戲包裝為安卓App

HTMLJSCSS制作一個數獨游戲-CSDN博客 中開發了一個數獨游戲&#xff0c;這個數獨游戲提供了一次性回退到指定步驟的輔助功能&#xff0c;在解決復雜數獨問題時十分有幫助&#xff0c;可作為玩數獨游戲的輔助工具&#xff0c;因此&#xff0c;考慮將它改裝成安卓App安裝在手機上…

編程語言Java入門——核心技術篇(一)封裝、繼承和多態

同專欄基礎知識篇寫在這里&#xff0c;有興趣的可以去看看&#xff1a; 編程語言Java入門——基礎知識篇&#xff08;一&#xff09;-CSDN博客 編程語言Java入門——基礎知識篇&#xff08;二&#xff09;-CSDN博客 編程語言Java入門——基礎知識篇&#xff08;三&#xff0…

【39】MFC入門到精通——C++ /MFC操作文件行(讀取,刪除,修改指定行)

文章目錄1 通過關鍵詞&#xff0c;讀取某一行 &#xff08;3種方法&#xff09;2 刪除 指定行3 修改 指定行1 通過關鍵詞&#xff0c;讀取某一行 &#xff08;3種方法&#xff09; 通過定位關鍵詞&#xff0c;讀取某一行信息,返回CString //通過定位關鍵詞&#xff0c;讀取某…

5 種可行的方法:如何將 Redmi 聯系人備份到 Mac

將 Redmi 聯系人備份到 Mac 是防止因手機損壞、丟失或更換設備而導致數據丟失的重要措施。雖然云服務提供了便利性&#xff0c;但擁有離線備份可以提供額外的安全性&#xff0c;而無需完全依賴互聯網。如果您想知道如何將 Redmi 聯系人備份到 Mac&#xff0c;本文將為您介紹 5 …

LeRobot 具身智能機械臂 SO-ARM100 從搭建到訓練全流程

今天給大家分享一下 LeRobot 具身智能機械臂 SO-ARM100 的完整使用流程&#xff0c;包括設備組裝、環境配置、遠程控制、數據錄制到模型訓練的全過程。適合剛入門具身智能的小伙伴參考學習。 一、前期準備與資源獲取 在開始之前&#xff0c;我們需要準備好相關的資源和工具&a…

LINUX720 SWAP擴容;新增邏輯卷;邏輯卷擴容;數據庫遷移;gdisk

SWAP空間擴展 方法一 增加硬盤或分區擴展 swap -s mkswap /dev/sdd6 blkid /dev/sdd6 swapon /dev/sdd6 swapon -s vim /etc/fstab /dev/sdd6 swap swap defaults 0 0 開機自動擴容 swap -s [rootweb ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sd…

Python 進程間通信:TCP安全加密數據傳輸

最近在寫安全方面的程序&#xff0c;有需求&#xff0c;就做了這些TCP加密數據傳輸類。 utils.safeUtils的內容詳見&#xff1a; SafeObj&#xff1a;Python 高安全性加密數據容器類-CSDN博客SafeKey&#xff1a;Python 高安全性加密密碼容器類-CSDN博客 如有任何問題或漏洞歡迎…

Windows批量修改文件屬性方法

標題使用icacls命令&#xff08;推薦批量操作&#xff09;打開管理員權限的命令提示符&#xff08;CMD&#xff09;執行以下命令&#xff1a;cmd icacls "文件夾路徑" /grant 用戶名:(OI)(CI)F /T /C 參數說明&#xff1a;(OI)&#xff1a;對象繼承 - 適用于文件夾(C…

Entity Component System架構

ECS架構 1 簡介 在當今快速發展的軟件開發領域&#xff0c;游戲開發、實時模擬等場景對系統的性能、靈活性和可擴展性提出了極高的要求。傳統的面向對象架構在面對復雜且動態變化的實體時&#xff0c;往往會出現代碼耦合度高、擴展性差等問題。? ECS&#xff08;Entity - Com…

.vscode 擴展配置

一、vue快捷鍵配置 在項目.vscode下新建vue3.0.code-snippets 每當輸入vue3.0后自動生成代碼片段 {"Vue3.0快速生成模板": {"scope": "vue","prefix": "Vue3.0","body": ["<template>"," &…

一個基于阿里云的C端Java服務的整體項目架構

1.背景介紹 總結一下工作使用到的基于通常的公有云的項目整體架構&#xff0c;如何基于公有云建設安全可靠的服務&#xff0c;以阿里云為例的整體架構&#xff1b;1. 全局流量治理層&#xff08;用戶請求入口&#xff09;1.1 域名與 DNS 解析域名注冊與備案&#xff1a;通過阿里…

《剝開洋蔥看中間件:Node.js請求處理效率與錯誤控制的深層邏輯》

在Node.js的運行時環境中&#xff0c;中間件如同一系列精密咬合的齒輪&#xff0c;驅動著請求從進入到響應的完整旅程&#xff0c;而洋蔥模型則是這組齒輪的傳動系統。它以一種看似矛盾的方式融合了順序與逆序、分離與協作——讓每個處理環節既能獨立工作&#xff0c;又能感知全…

GaussDB union 的用法

1 union 的作用union 運算符用于組合兩個或更多 select 語句的結果集。2 union 使用前提union 中的每個 select 語句必須具有相同的列數這些列也必須具有相似的數據類型每個 select 語句中的列也必須以相同的順序排列3 union 語法select column_name(s) from table1 union sele…

構建足球實時比分APP:REST API與WebSocket接入方案詳解

在開發足球實時比分應用時&#xff0c;數據接入方式的選擇直接影響用戶體驗和系統性能。本文將客觀分析REST API和WebSocket兩種主流接入方案的技術特點、適用場景和實現策略&#xff0c;幫助開發者做出合理選擇。一、REST API&#xff1a;靈活的數據獲取方案核心優勢標準化接口…

Linux文件系統三要素:塊劃分、分區管理與inode結構解析

理解文件系統 我們知道文件可以分為磁盤文件和內存文件&#xff0c;內存文件前面我們已經談過了&#xff0c;下面我們來談談磁盤文件。 目錄 一、引入"塊"概念 解析 stat demo.c 命令輸出 基本信息 設備信息 索引節點信息 權限信息 時間戳 二、引入"分區…

基于paddleDetect的半監督目標檢測實戰

基于paddleDetect的半監督目標檢測實戰前言相關介紹前提條件實驗環境安裝環境項目地址使用paddleDetect的半監督方法訓練自己的數據集準備數據分割數據集配置參數文件PaddleDetection-2.7.0/configs/semi_det/denseteacher/denseteacher_ppyoloe_plus_crn_l_coco_semi010.ymlPa…

計算機網絡:(十)虛擬專用網 VPN 和網絡地址轉換 NAT

計算機網絡&#xff1a;&#xff08;十&#xff09;虛擬專用網 VPN 和網絡地址轉換 NAT前言一、虛擬專用網 VPN1. 基礎概念與作用2. 工作原理3. 常見類型4. 協議對比二、NAT&#xff1a;網絡地址轉換1. 基礎概念與作用2. 工作原理與類型3. 優缺點與問題4. 進階類型三、VPN 與 N…

數位 dp

數位dp 特點 問題大多是指“在 [l,r][l,r][l,r] 的區間內&#xff0c;滿足……的數字的個數、種類&#xff0c;等等。” 但是顯然&#xff0c;出題人想要卡你&#xff0c;rrr 肯定是非常大的&#xff0c;暴力枚舉一定超時。 于是就有了數位 dp。 基本思路 數位 dp 說白了…

Selector的用法

Selector的用法 Selector是基于lxml構建的支持XPath選擇器、CSS選擇器&#xff0c;以及正則表達式&#xff0c;功能全面&#xff0c;解析速度和準確度非常高 from scrapy import Selectorbody <html><head><title>HelloWorld</title></head>&…

Netty封裝Websocket并實現動態路由

引言 關于Netty和Websocket的介紹我就不多講了,網上一搜一大片。現如今AI的趨勢發展很熱門,長連接對話也是會經常接觸到的,使用Websocket實現長連接,那么很多人為了快速開發快速集成就會使用spring-boot-starter-websocket依賴快速實現,但是注意該實現是基于tomcat的,有…