Python開發【第三篇】:if判斷、while迴圈、for迴圈

来源:https://www.cnblogs.com/wendj/archive/2018/06/05/9141942.html
-Advertisement-
Play Games

如果某些條件滿足,才能做某件事情,而不滿足時不允許做,這就是所謂的判斷 不僅生活中有,在軟體開發中“判斷”功能也經常會用到 if判斷語句 if 要判斷的條件: 條件成立 if-else的使用格式 if 條件: 條件成立 else: 不滿足條件 if elif的功能 當xxx1滿足時,執行事情1,然後 ...


 

  • 如果某些條件滿足,才能做某件事情,而不滿足時不允許做,這就是所謂的判斷
  • 不僅生活中有,在軟體開發中“判斷”功能也經常會用到

if判斷語句

  if 要判斷的條件:

   條件成立

  

num = 50
if num>18:
   # 條件滿足執行的代碼塊 print('num大於18')
print('---------不管條件是否滿足都要繼續往下執行----------------')

  

if-else的使用格式

  if 條件:

   條件成立

  else:

   不滿足條件

num = 50
if num>18:
   # 條件滿足執行的代碼塊
    print('num大於18')
else:
    # 條件不滿足
    print('num小於18')

print('-------------代碼繼續往下執行----------------')

  

if elif的功能

if 條件判斷1:
  pass
elif 條件判斷2:
  pass
elif 條件判斷3:
  pass
.........
  • 當xxx1滿足時,執行事情1,然後整個if結束
  • 當xxx1不滿足時,那麼判斷xxx2,如果xxx2滿足,則執行事情2,然後整個if結束
  • 當xxx1不滿足時,xxx2也不滿足,如果xxx3滿足,則執行事情3,然後整個if結束
 score = 77
    if score>=90 and score<=100:
        print('本次考試,等級為A')
    elif score>=80 and score<90:
        print('本次考試,等級為B')
    elif score>=70 and score<80:
        print('本次考試,等級為C')
    elif score>=60 and score<70:
        print('本次考試,等級為D')
    elif score>=0 and score<60:
        print('本次考試,等級為E')

  

可以和else一起使用 :當所有條件都不滿足時執行else中的代碼,elif必須和if一起使用,否則出錯

 

while迴圈

  while 判斷條件:

 

    滿足條件執行

  

i = 1
while i <= 10:
    i += 1
    print('hello word!')
print('-----繼續執行以下代碼-----')

  

 

while嵌套的格式

while 條件1:
  條件1滿足時,做的事情1
  條件1滿足時,做的事情2
  條件1滿足時,做的事情3
  ...(省略)...

  while 條件2:

    條件2滿足時,做的事情1
    條件2滿足時,做的事情2
    條件2滿足時,做的事情3

    ...(省略)...

 

i = 1
while i <= 9:
    j = 1
    while j <= i:
        print("* ", end='')
        j += 1
    print("\n")
    i += 1
    

  

while嵌套應用二:九九乘法表

  將以上代碼 

 print("* ", end='') 替換為:print("%d*%d=%d "%(j, i, i*j), end='')

 

while 條件判斷:

  滿足條件執行

else:

  不滿足條件執行

 

for迴圈

for 臨時變數 in 列表或者字元串:
  迴圈滿足條件執行的代碼
else:
  迴圈不滿足條件執行的代碼

break和continue

name = 'dongGe'

  for x in name:
      print('----')
      if x == 'g': 
      # 結束此次迴圈 break print(x)

 

  i = 0

  while i<10:
      i = i+1
      print('----')
      if i==5:
         # 結束迴圈

break
      print(i)

 

  name = 'dongGe'

  for x in name:
      print('----')
      if x == 'g':
         continue# 結束此次迴圈,繼續下次
      print(x)

  

i = 0

  while i<10:
      i = i+1
      print('----')
      if i==5:
         continue# 結束此次迴圈,繼續下次
print(i)

 

  • 小總結:
    • continue的作用:用來結束本次迴圈,緊接著執行下一次的迴圈

3. 註意點

  • break/continue只能用在迴圈中,除此以外不能單獨使用

  • break/continue在嵌套迴圈中,只對最近的一層迴圈起作用

 

綜合案例:

# -*- coding: utf-8 -*-

# 聲明字元編碼
# coding:utf-8

# 1、使用while迴圈輸入 1 2 3 4 5 6     8 9 10
i = 0
while i < 10:
    i += 1
    print(i, end=" ")
print("")

nums = [i for i in range(1, 11)]
print("第二種方法:%s" % nums)

# 2、求1-100的所有數的和
sum = 0
for i in range(1, 51):
    sum += i
print("第一種方法:%d" % sum)

n = 50//2
sum = 0
for i in range(1, n+1):
   sum += i + (50-i)
print("第二種方法:%d" % (sum+n))


# 3、輸出 1-100 內的所有奇數
for i in range(1, 100):
    if i % 2 != 0:
        print(i, end=" ")
print("")

nums = [i for i in range(1, 101) if i % 2 != 0]
print("第二種方法:%s" % nums)

# 4、輸出 1-100 內的所有偶數
for i in range(1, 100):
    if i % 2 == 0:
        print(i, end=" ")
print("")

nums = [i for i in range(1, 101) if i % 2 == 0]
print("第二種方法:%s" % nums)

# 5、求1-2+3-4+5 ... 99的所有數的和
sum = 0
zhi = 0
ou = 0
for i in range(1, 101):
    if i % 2 != 0:
        zhi += i
    if i % 2 == 0:
        ou += i
sum = zhi - ou
print("第一種方法:%s" % sum)

# 6、用戶登陸(三次機會重試)
erro_time = 0
while erro_time == 3:
    user_name = input("請輸入用戶名:")
    user_pwd = input("請輸入密碼:")

    if user_name != "admin":
        erro_time += 1
        print("用戶名稱錯誤.....")
        continue
    if user_pwd != "123":
        erro_time += 1
        print("密碼錯誤.....")
        continue

    print("登錄成功。")
    break
else:
    print("登錄錯誤次數超限,請聯繫後臺管理員。")

 

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 前言 從去年的3月份起我就在開始讀《Effective Java 第二版》,當然,我讀的是中文版的;可能是我理解能力還不行,對於書中的內容總是感覺理解困難;就拿第一章的內容「創建和銷毀對象」來說吧,這是我讀的次數最多的一章,想必原因大家也是明白的,每次我讀不下去的時候,我就從頭開始讀,所以,現在我對 ...
  • 1.首先安裝mysql 具體教程可以參考https://blog.csdn.net/zhouzezhou/article/details/52446608 註意安裝產品的時候記得選擇MySQL Connector C,如圖 2.安裝好mysql之後,就開始配置,點擊項目->點擊項目屬性,如圖: 3. ...
  • 也許是最近模擬題打多了的緣故,我發現自己漸漸變得比較毒瘤起來,當然這也是有一定的好處的,因為從中我也學到了一些處理字元串的正確姿勢,今天我們就來講一 講如何用函數getline來讀入一整行字元串進行處理。或者他的一些變體。 首先我們先需要知道為什麼我們要學習這個函數,是這樣的,相信大家都應該知道以前 ...
  • Spring Boot 2.0 的推出又激起了一陣學習 Spring Boot 熱,就單從我個人的博客的訪問量大幅增加就可以感受到大家對學習 Spring Boot 的熱情,那麼在這麼多人熱衷於學習 Spring Boot 之時,我們自己也在思考: Spring Boot 為什麼帶來了這麼大的變革。 ...
  • c++文件的讀寫 1.文本方式的寫文件 3.二進位方式的寫文件 c++ include include using namespace std; int main(){ int ar[] = {11,232,123123,1223,455,4,4,5,56,4,33}; ofstream ofile ...
  • 一.首先在啟動類重寫SpringBootServletInitializer里的configure方法: 二.將springboot項目打成war包,使用maven打包需要修改pom文件,將預設的打為jar包修改成war: 也可以使用idea將構建好的項目打包,如圖: 三.和別的Spring項目一樣 ...
  • Java中的成員變數和局部變數一:成員變數;二:局部變數;三:成員變數與局部變數的區別; ...
  • 離 python2 退休還有 702 天,Python3.7 也將在 6 月份發佈正式版,你還記得 3.6 有哪些酷炫的特性嗎?來回顧一下。 可讀性更強的數字字面值 Python代碼在可讀性上做到了極致,被稱為是可執行偽代碼。然而,它還在不斷地改進,比如這個可讀性更好的數字字面值語法,就是方便程式員 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...