python_入門到熟練_day02

来源:https://www.cnblogs.com/linglichong/archive/2019/08/02/11291317.html
-Advertisement-
Play Games

Day02 一,while while也稱為無限迴圈、死迴圈 while 條件: 縮進 迴圈體 break -- 必須在while迴圈使用 braek -- 終止當前迴圈,且其下方的代碼不會執行。 while True: print(' ') print('西北玄天一片雲,') print('烏鴉落 ...


第二節

一,while

while也稱為無限迴圈、死迴圈

  1. while 條件:

    縮進 迴圈體

    • 應用領域:音樂播放:單曲迴圈,列表迴圈,隨機播放(也是有規律的)

      登陸界面:……

      數學計算:1~100的和,1~100奇數的和/偶數的和……

    while True:
       print('-------------')
       print('西北玄天一片雲,')
       print('烏鴉落入鳳凰群,')
       print('滿桌都是英雄漢,')
       print('誰是君來誰是臣。')

     

    • break -- 必須在while迴圈使用

      braek -- 終止當前迴圈,且其下方的代碼不會執行。

      while True:
         print('-------------')
         print('西北玄天一片雲,')
         print('烏鴉落入鳳凰群,')
         print('滿桌都是英雄漢,')
         print('誰是君來誰是臣。')
         break # 可放在迴圈體下麵的任何條件後
    • 改變迴圈體的條件--也可以終止迴圈

      f = True
      while f:
         print('-------------')
         print('西北玄天一片雲,')
         print('烏鴉落入鳳凰群,')
         print('滿桌都是英雄漢,')
         print('誰是君來誰是臣。')
      f = False # 可放在迴圈體下麵的任何條件後

       

    • continue -- 跳出本次迴圈,繼續下一次迴圈,其下方的代碼不會執行。

      (偽裝成迴圈體的最後一行代碼)

      while True:
         print('-------------')
         print('西北玄天一片雲,')
         print('烏鴉落入鳳凰群,')
         print('滿桌都是英雄漢,')
         continue # 偽裝成最後一行代碼,不執行其下麵的代碼,繼續無線迴圈
         print('誰是君來誰是臣。')
  1. 練習題

    1. # 利用while語句寫出猜大小的游戲: 設定一個理想數字比如:66,讓用戶輸入數字,如果比66大,則顯示猜測的結果大了;如果比66小,則顯示猜測的結果小了;只有等於66,顯示猜測結果正確,然後退出迴圈。
      num = 66 # 設置變數,便於後期維護
      while True: # 設定無限迴圈
         s = int(input("你猜猜皇上想到的是哪個整數:")) # 用戶交互
         if s > num:
             print("結果大了")
         elif s < num:
             print("結果小了")# 輸入的數字不滿足條件,就無限迴圈
         else:   #   滿足s = 66 的情況下
             print("結果正確")
             break  # 終止
    1. # 在1題的基礎上進行升級:給用戶三次猜測機會,如果三次之內猜測對了,則顯示猜測正確,退出迴圈,如果三次之內沒有猜測正確,則自動退出迴圈,並顯示‘太笨了你....’。
      count = 0
      num = 66
      while count < 3: # 給變數設置限制
         s = int(input("你猜猜皇上想到的是哪個數字:"))
         if s > num:
             print("結果大了")
         elif s < num:
             print("結果小了")
         else:
             print("結果正確")
             break
         count = count + 1  # 改變變數,使條件變為False,終止迴圈
      else:
         print("太笨了你啊")
    1. # 使用while迴圈輸出 1 2 3 4 5 6 8 9 10
      # 註意讀題,沒有7
      # 方法一
      num = 0
      while num < 10:
         num += 1
         if num == 7:
             continue  # num為7的時候,結束本次迴圈,繼續下次
         print(num)
      # 方法二
      num = 0
      while num < 10:
         num += 1
         if num == 7:
             num += 1 # num為7的時候,7+1
         print(num)  
    1. # 輸出 1-100 內的所有奇數
      # 方法一
      num = 1
      while num < 100:
         print(num)
         num += 2   # 變數為1,每次都加二,輸出的都是奇數
      # 方法二
      num0 = 1
      while num0 < 101:
         if num0 % 2 == 1: # 變數除2餘1,然後輸出
             print(num0)
         num0 += 1
    1. # 輸出 1-100 內的所有偶數
      # 方法一
      num1 = 0
      while num1 < 100:
         num1 += 2 #   每次都加二,變數為0,輸出的都是偶數
         print(num1)
      # 方法二
      num2 = 1
      while num2 < 101:
         if num2 % 2 == 0: # 變數2餘0,是偶數
             print(num2)
         num2 += 1
    1. # 求1-2+3-4+5 ... 99的所有數的和
      num4 = 0
      ss = 0
      while num4 < 99:
         num4 += 1
         if num4 % 2:  # 求出奇數,然後相加
             ss += num4
         else:         # 求出偶數,然後奇數減偶數
             ss -= num4
      print(ss)

二、格式化

占的位置填充時必須一一對應,填充的時候按照順序填充,由左至右

應用:例如做個名片,註冊賬號……

  1. %s —— 字元串類型

  2. %d%i —— 數字類型

    name = input("name:")
    age = input("age:")
    addr = input("addr:")
    phone = input("phone:")
    info = """
    -----------info----------
    姓名:%s
    年齡:%s
    公司:%s
    電話:%s
    ------------end-----------
    """%(name,age,addr,phone)
    print(info)

     

  3. %% —— 轉義

    msg = "%s的學習進度是2%%"%(python)
    print(msg)# %%轉義是百分之二

     

  4. f"{格式}" —— 最好用的一種填充

    # f"{}"的一種應用
    msg = f"""-----------info----------
    姓名:{input('name:')}
    年齡:{input('age:')}
    公司:{input('addr:')}
    電話:{input('phone:')}
    ------------end-----------"""
    print(msg)
  1. 練習題

# 用戶登陸(三次輸錯機會)提示輸入錯誤次數、剩餘輸入次數(while和格式化輸出的組合)
count = 4
s1 = 0
while count > 1:
   count -= 1
   id = input("請輸入賬號:")
   psd = input("請輸入密碼:")
   if id == "username" and psd == "password":
       print("登陸成功")
       break
   else:
       s1 += 1
       print(f"輸入錯誤{s1}次,還可重新輸入{count - 1}次")

 

三、運算符

  1. 算數運算符

    運算符描述實例
    + 加,兩個對象相加 a+b=30
    - 減,兩個對象相減,可能會得到負數 a-b=-10
    * 乘,兩數相稱或是返回一個被重覆若幹次的字元串 a*b=200
    / 除,兩個對象相除 b/a=2
    % 取膜,返回除法的餘數 b%a=0
    ** 冪,返回x的y次冪 a**b=100000000000000000000L
    // 整除餘,返回商的整數部分 a//b=0
  2. 比較運算符

    運算符描述實例
    == 等於,比較兩個對象是否相等 a==b返回False
    != 不等於,比較兩個對象是否不相等 a!=b返回True
    <> 不等於,比較兩個對象是否不相等 a<>b返回True
    > 大於,比較x是否大於y, a>b返回False
    < 小於,比較x是否小於y a<b返回True
    >= 大於等於,比較x是否大於等於y a>=b返回False
    <= 小於等於,比較x是否小於等於y a<=b返回True
  3. 賦值運算符

    運算符描述實例
    = 賦值運算符 c=a+b,將a+b的運算結果賦值給c
    += 加法賦值運算符 c += a等效於c = c + a
    -= 減法賦值運算符 c -= a等效於c = c - a
    *= 乘法賦值運算符 c *= a等效於c = c * a
    /= 除法賦值運算符 c /= a等效於c = c / a
    %= 取模賦值運算符 c %= a等效於c = c % a
    **= 冪賦值運算符 c = a等效於c = c a
    //= 取整除賦值運算符 c //= a等效於c = c // a
  4. 邏輯運算符

    運算符描述實例
    and “與” a and b返回true
    or “或” a or b返回true
    not “非” no(a and b)返回false

    and: 都為真,就是真:選擇and後面的內容

    有一個是假就是假:都為假的時候選擇and前面的內容

    or 只要有一個真就是真

    兩個都是真,選or前面的

    兩個都為假:選or後面的

    not: 不是,非

    • 優先順序別:( ) > not > and > or

     

    9 or 8 and 4 and not 4 < 5 or 8
    9 or 8 and 4 and False or 8
    9 or 4 and False or 8
    9 or False or 8
    9 or 8
    9

    not 3<5 and 6>3 or 6 and not True or False and 8 or 90
    False and 6>3 or 6 and not True or False and 8 or 90
    False and 6>3 or 6 and False or False and 8 or 90
    False or 6 and False or False and 8 or 90
    False or  False or False and 8 or 90
    False or False or False or 90
    90
  5. 成員運算符

    運算符描述
    in 如果在指定的序列中找到值返回True,否則返回False
    not in 如果在指定的序列中沒有找到值返回True,否則返回false
    a = "alex"
    if "b" not in a:
       print("不在")
    else:
       print("在")
       
    a = "alex"
    if "b" in a:
       print("在")
    else:
       print("不在")
  1. 運算符練習題

# 自己先進行推導,之後print(求值)
判斷下列邏輯語句的True,False.
1 > 1 or 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6
# True
not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6
# False
求出下列邏輯語句的值。
8 or 3 and 4 or 2 and 0 or 9 and 7
# 8
0 or 2 and 3 and 4 or 6 and 0 or 3
# 4

四、編碼初識

  1. ascii碼 —— 美國自造,最早256位

    英文1個位元組

    不支持中文

  2. Gbk —— 中國製造包含了ascii

    中國標準語言——國標

    英文8位1個位元組,中文16位2個位元組

  3. unicode —— 萬國碼

    英文32位4個位元組

    中文32位4個位元組

  4. utf-8 —— 萬國碼的升級版本 最流行的密碼本

    英文1個位元組8位

    歐洲2個位元組16位

    亞洲3個位元組24位

五、單位轉換

  • 1Bytes = 8bit 1個位元組 == 8位

  • 1KB = 1024B

  • 1MB = 1024KB

  • 1GB = 1024MB

  • 1TB = 1024GB

  • 1PB = 1024TB

  • 1EB = 1024PB

 

後續還會持續更新,從入門到放棄  ^.^。


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

-Advertisement-
Play Games
更多相關文章
  • 接入支付寶準備工作:(關於賬號可以是個體商戶也可以是企業賬號但必須有營業執照) 1.登錄螞蟻金服開放平臺 2.創建應用,應用分類網頁應用和移動應用。應用提交審核審核通過後得到Appid才能調用相應的介面許可權 3.添加功能:一般有掃碼付,電腦網站支付,手機網站支付,APP支付。看你的需求什麼。移動應用 ...
  • ckeditor作為老牌的優秀線上編輯器,一直受到開發者的青睞。 這裡我們講解下 ckeditor最新版本4.7的圖片上傳配置。 https://ckeditor.com/ 官方 進入下載 https://ckeditor.com/download 我們下載完整版 預設本地上傳沒有開啟; 找到cke ...
  • B篇,主要介紹Python的自定義函數,匿名函數,面向對象,模塊化。 由於不涉及基礎的知識,我會將重難點加以解釋。 ...
  • Ural 1250 Sea Burial 題解 [TOC] 題意 給定一個$n\times m$的地圖,$.$為水,$\ $為陸,地圖的外部是水(地圖被水包圍)。水為八連通,陸為四聯通。聯通的水稱為海,聯通的陸稱為島。海內可能有島,島內可能有海。給定$x,y$求在包含$(x,y)$(保證$(x,y) ...
  • 一、前言 承接 "《Spring源碼解析——創建bean》" 、 "《Spring源碼解析——創建bean的實例》" ,我們今天接著聊聊,迴圈依賴的解決方案,即創建bean的ObjectFactory。 二、ObjectFactory 這段代碼不是很複雜,但是很多人不是太理解這段代碼的作用,而且,這 ...
  • 10.8 修改表、複製表、刪除表 10.81 修改表 alter table 10.82 複製表 10.83 刪除表 10.9 單表查詢 10.91 where過濾 10.92 group by分組 group_concat (不能做中間結果)、concat 、concat_ws 、as 10.93 ...
  • 一、 基本內容 1. 定義:AJAX(Asynchronous Javascript And XML)翻譯成中文就是“非同步的Javascript和XML”,即使用Javascript語言與伺服器進行非同步交互,傳輸的數據為XML(當然,傳輸的數據不只是XML) 2. 作用:AJAX就是使用 js 技術 ...
  • 任務要求: 在控制臺中提示輸入石頭、剪刀、布,按回車鍵,然後給出游戲結果。 分析: 我們知道在游戲規則中,石頭克剪刀,剪刀克布,布克石頭。但是這在電腦中並不是很好直接的表示,因此我們分別用0、1、2分別代表游戲中的石頭剪刀布。 那麼電腦該如何出拳呢?那就該用到python中的一個模塊random中 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...