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
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...