00x1 python分支迴圈

来源:https://www.cnblogs.com/ionion/archive/2018/07/22/9351595.html
-Advertisement-
Play Games

三大結構 順序 分支 迴圈 三大結構 順序 分支 迴圈 三大結構 順序 分支 迴圈 三大結構 順序 分支 迴圈 三大結構 順序 分支 迴圈 三大結構 順序 分支 迴圈 三大結構 順序 分支 迴圈 三大結構 順序 分支 迴圈 三大結構 順序 分支 迴圈 分支 分支的基本語法 if 條件表達式: 語句1 ...



三大結構

  • 順序
  • 分支
  • 迴圈
 

分支

  • 分支的基本語法

    • if 條件表達式:
      • 語句1
      • 語句2
      • 語句3
      • ......
  • 條件表達式就是計算結果必須為布爾值的表達式
  • 表達式後面的冒號不能少
  • 註意if後面的出現的語句,如果屬於if語句塊,則必須同一個鎖緊等級
  • 條件表達式結果為True執行if後面的縮進的語句塊
In [4]:          
# if語句練習
# 如果age小於18歲,則列印信息“未成年不能上車”    
age = 17
if age < 18:
    print('未成年不能上車')
    print('你走吧,我媽不讓我跟小孩玩')

  

     
未成年不能上車
你走吧,我媽不讓我跟小孩玩
In [2]:          
# if語句練習
# 如果age小於18歲,則列印信息“未成年不能上車”
age = 19
if age < 18:
    print('未成年不能上車')
    print('你走,我媽不讓我跟小孩玩')
print('開始上車咯,小伙子們')
 

  

 
   
開始上車咯,小伙子們
In [3]:          
# if語句練習
# 如果age小於18歲,則列印信息“未成年不能上車”
age = 19
if age < 18:
    print('未成年不能上車')
print('我們不帶你玩')
​
print('開始上車咯')
 

  

 
   
我們不帶你玩
開始上車咯
In [5]:          
print('今天學習for迴圈')
gender = "男"
if gender == "女":
    print('來,叔叔給你糖吃')
print('開始講for迴圈了')
​

  

     
今天學習for迴圈
開始講for迴圈了
 

雙向分支

  • if...else...語句

    • if 條件表達式:
      • 語句1
      • 語句2
      • ...
    • else:
      • 語句1
      • 語句2
      • .....
  • 雙向分支有兩個分支,當程式執行到if ... else...語句的時候,一定會執行if或else中的一個,也僅執行一個

  • 縮進問題,if和else一個層級,其餘語句一個層級

In [8]:          
# input的作用是
# 1. 在屏幕上輸出括弧內的字元串
# 2. 接受用戶輸入的內容並返回到程式
# 3. input返回的內容一定是字元串類型
gender = input('請輸入性別:')
print('你輸入的性別是:{0}'.format(gender))
​
if gender == '男':
    print('來,我們紀念一下今天吧,代碼敲十遍')
​
else:
    print('發糖咯')
    print('發糖咯')
​
print('結束')
 

  

 
 
請輸入性別:男
你輸入的性別是:男
來,我們紀念一下今天吧,代碼敲十遍
結束
In [9]:          
# 考試成績判斷
# 90以上: 輸出優秀
# 80-90:良
# 70-80:中
# 60-70:平
# 60以下: 輸出:我沒你這撒學僧

  

 
    In [10]:          
# score  存放學生成績
# 註意input的返回值類型
score = input("請輸入學生成績:")
# 需要把str轉換成int
score = int(score)
​
if score >= 90:
    print('A')
if score >= 80 and score < 90:
    print('B')
if score >= 70 and score < 80:
    print('C')
if score >= 60 and score < 70:
    print('D')
​
if score < 60:
    print("你走,我媽不讓我跟傻子玩")
 
 

  

 
請輸入學生成績:80
B
 

多路分支

  • 很多分支的情況,簡稱多路分支

    • if 條件表達式:
      • 語句1
      • ....
    • elif 條件表達式:
      • 語句1
      • ...
    • elif 條件表達式:

      • 語句1
      • ...
    • .....

    • else: -語句1 ....
  • elif 可以由很多歌

  • else可選

  • 多路分支只會選一個執行
In [11]:          
# score  存放學生成績
# 註意input的返回值類型
score = input("請輸入學生成績:")
# 需要把str轉換成int
score = int(score)
​
if score>=90:
    print("A")
elif score>= 80:
    print("B")
elif score >= 70:
    print("C")
elif score >=60 :
    print("D")
else:
    print("你走,我媽不讓我跟傻子玩")

  

 
   
請輸入學生成績:8
你走,我媽不讓我跟傻子玩
 

if語句其他:

  • if語句可以嵌套使用,但不推薦
  • python沒有switch-case語句
 

迴圈語句

  • 重覆執行某些固定動作或者處理基本固定的事物
  • 分類
    • for迴圈
    • while迴圈 # for迴圈
  • for迴圈

    • for 變數 in 序列:
      • 語句1
      • 語句2
      • 。..
In [12]:          
# 列表就是一列數字或者其他值,一般用中括弧表示
# 例如  ['Google', 'baidu', 'github','cnbolg']
​
# 列印學生列表姓名
for name in  ['Google', 'baidu', 'github','cnbolg']:
    print(name)
 

  

 
   
Google
baidu
github
cnbolg
In [14]:          
# 列印學生列表姓名
# 如果是妹子,那肯定是我的最愛呀,
# 如果是男同學,那要冷酷的拒絕他
for name in  ['靜靜', '小明', '老王','老畢']:
    print(name)
    if name == "靜靜":
        print('我最喜歡的{0}妹子'.format(name))
    else:
        print('你給我走,我媽不讓我跟男同學玩')
​
 

  

 
   
靜靜
我最喜歡的靜靜妹子
小明
你給我走,我媽不讓我跟男同學玩
老王
你給我走,我媽不讓我跟男同學玩
老畢
你給我走,我媽不讓我跟男同學玩
 

range介紹

  • 生成一個數字序列
  • 具體範圍可以設定
In [15]:          
# range練習
# 列印從1-10的數字
# 註意,一般在python中,如果由表示數字範圍的兩個數,一般是包含左邊數字不包含右邊數字
# randint是特例,他左右都包含
# range函數在python2 和 python3中有嚴重區別
for i in range(1,11):
    print(i)

 

1
2
3
4
5
6
7
8
9
10
 

for-else語句

  • 當for迴圈結束的時候,會執行else語句
  • else語句是可選語句
In [16]:          
# for-else語句# for-else 
# 列印列表中的同學,
# 如果沒有在列表中,或者列表結束了,我們需要列印提示語句,表示不在愛了
​
# 列印學生列表姓名
# 如果是靜靜,那肯定是我的最喜歡的妹子,
# 如果是男學生,那要冷酷的拒絕他
for name in ['靜靜', '小明', '老王','老畢']:
    print(name)
    if name == '靜靜':
        print('我最喜歡的{0}妹子出現了'.format(name))
​
    else:
        print('你走,我媽不讓我跟男同學玩')
​
else:
    print('我喜歡的妹子不在,我生氣了')
    print('我喜歡的妹子不在,我生氣了')
    print('我喜歡的妹子不在,我生氣了')
    print('我喜歡的妹子不在,我生氣了')
 
 
 

  

 
靜靜
我最喜歡的靜靜妹子出現了
小明
你走,我媽不讓我跟男同學玩
老王
你走,我媽不讓我跟男同學玩
老畢
你走,我媽不讓我跟男同學玩
我喜歡的妹子不在,我生氣了
我喜歡的妹子不在,我生氣了
我喜歡的妹子不在,我生氣了
我喜歡的妹子不在,我生氣了
 

迴圈之break,contineu,pass

  • break: 無條件結束整個迴圈,簡稱迴圈猝死
  • continue:無條件結束本次迴圈,從新進入下一輪迴圈
  • pass:表示略過,通常用於站位
In [17]:          
# 在數字1-10中,尋找數字7,一旦找到,列印出來,其餘則什麼都不做
# for 迴圈中的變數表示,一般用i,k,m,n,或者indx,idx,item之類
# 在python中,如果迴圈變數名稱不重要,可以用下劃線(_)代替
​
for i in range(1,11):
    if i == 7:
        print("我找到了")
        break
    else:
        print(i)
 

  

1
2
3
4
5
6
我找到了
In [18]:          
# continue語句聯繫
# 在數字1-10中,尋找所有偶數,找到偶數後列印偶數
​
for i in range(1,11):
    if i % 2 == 1:
        continue
    else:
        print("{0} 是偶數".format(i))
 

  

 
   
2 是偶數
4 是偶數
6 是偶數
8 是偶數
10 是偶數
In [19]:          
# continue語句 版本 2# contin 
# 在數字1-10中,尋找所有偶數,找到偶數後列印偶數
​
for i in range(1,11):
    if i % 2 == 0:
        print("{0} 是偶數".format(i))
 
 
 

  

 
2 是偶數
4 是偶數
6 是偶數
8 是偶數
10 是偶數
In [20]:          
# continue語句 版本 2
# 在數字1-10中,尋找所有偶數,找到偶數後列印偶數
# 本案例完整顯示continue的用法和作用
for i in range(1,11):
    if i % 2 == 1:
        continue
    print("{0} 是偶數".format(i))
 

  

 
   
2 是偶數
4 是偶數
6 是偶數
8 是偶數
10 是偶數
In [22]:          
# pass例子,一般用於占位
# pass沒有跳過功能
​
for i in range(1,10):
    pass
    print("test!")
 

  

 
   
test!
test!
test!
test!
test!
test!
test!
test!
test!
In [ ]:          
   
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一直覺得博客缺點東西,最近還是發現了,當博客慢慢多起來的時候想要找一篇之前寫的博客很是麻煩,於是作為後端開發的樓主覺得自己動手豐衣足食,也就有了這次博客全文檢索功能Elasticsearch實戰,這裡還要感謝一下‘輝哥’贊助的一臺伺服器。 <! more 全文檢索工具選型 眾所周知,支持全文檢索的工 ...
  • 註:希望與各位讀者相互交流,共同學習進步。 ...
  • 做為一個略微看過nodejs語法,但又不懂nodejs的攻城獅,搭建hexo環境很是麻煩,要考慮到翻牆、版本相容等問題。於是乎,博主每換一個電腦,為了能繼續發博客,都需要在新電腦上花一天時間重新搞一下 hexo 環境,樓主感覺還是有簡潔的方案來實現我一提交代碼就可以自動發佈博客,不需要再手動操作一波 ...
  • __author__ = 'zht' #!/usr/bin/env python # -*- coding: utf-8 -*- ''' #努力學習每一天 ''' import operator #方法1 a = [1,2,3,4,5,6,7,11,10,9,] i = 1 b = a[0] whi... ...
  • 原創 裸一篇圖的BFS遍歷,直接來圖: 簡單介紹一下BFS遍歷的過程: 以上圖為例子,從0開始遍歷,訪問0,按大小順序訪問與0相鄰的所有頂點,即先訪問1,再訪問2; 至此頂點0已經沒有作用了,因為其本身和與其所有相鄰的頂點都已被訪問,將其出隊列,我們用隊列 存儲已訪問過的頂點;然後順著隊列,訪問頂點 ...
  • 發現一個奇怪的現象,我以Python入門為題的隨筆文章莫名其妙有幾十的閱讀量,讓我有點尷尬,其實大家如果想學Python的話,可以關註一些公眾號,比如「一個程式員的日常」和「痴海」等等,他們都有Python方面的學習資源,而且他們也會推薦一些優質的公眾號供大家學習,關註一下,如果之後感覺不怎樣,取關 ...
  • IO流和Properties IO流 IO流是指電腦與外部世界或者一個程式與電腦的其餘部分的之間的介面。它對於任何電腦系統都非常關鍵, 因而所有 I/O 的主體實際上是內置在操作系統中的。單獨的程式一般是讓系統為它們完成大部分的工作。 在 Java 編程中,一直使用流的方式完成 I/O。所有 ...
  • 註:希望與各位讀者相互交流,共同學習進步。 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...