Python中表達式和語句及for、while迴圈練習

来源:http://www.cnblogs.com/fanison/archive/2017/07/06/7128495.html
-Advertisement-
Play Games

Python中表達式和語句及for、while迴圈練習 1)表達式 常用的表達式操作符: x + y, x y x y, x / y, x // y, x % y 邏輯運算: x or y, x and y, not x 成員關係運算: x in y, x not in y 對象實例測試: x is ...


Python中表達式和語句及for、while迴圈練習

1)表達式

       常用的表達式操作符:
        x + y, x - y
        x * y, x / y, x // y, x % y

        邏輯運算:
        x or y, x and y, not x

        成員關係運算:
        x in y, x not in y

        對象實例測試:
        x is y, x not is y

        比較運算:
        x < y, x > y, x <= y, x >= y, x == y, x != y

        位運算:
        x | y, x & y, x ^ y, x << y, x >> y

        一元運算:
        -x, +x, ~x:

        冪運算:
        x ** y

        索引和分片:
        x[i], x[i:j], x[i:j:stride]

        調用:
        x(...)

        取屬性:
            x.attribute

        元組:(...)
        序列:[...]
        字典:{...}

        三元選擇表達式:x if y else z

        匿名函數:lambda args: expression

        生成器函數發送協議:yield x
        
  運算優先順序:
        (...), [...], {...}
        s[i], s[i:j]
        s.attribute
        s(...)
        +x, -x, ~x
        x ** y
        *, /, //, %
        +, -
        <<, >> 
        &
        ^
        |
        <, <=, >, >=, ==, !=
        is, not is
        in, not in
        not
        and
        or
        lambda  
        

2)語句:

    賦值語句
    調用
    print: 列印對象
    if/elif/else: 條件判斷
    for/else: 序列迭代
    while/else: 普通迴圈
    pass: 占位符
    break: 
    continue
    def
    return
    yield
    global: 命名空間
    raise: 觸發異常
    import: 
    from: 模塊屬性訪問
    class: 類
    try/except/finally: 捕捉異常
    del: 刪除引用
    assert: 調試檢查
    with/as: 環境管理器
    
        賦值語句:
        
            隱式賦值:import, from, def, class, for, 函數參數
        
            元組和列表分解賦值:當賦值符號(=)的左側為元組或列表時,Python會按照位置把右邊的對象和左邊的目標自左而右逐一進行配對兒;個數不同時會觸發異常,此時可以切片的方式進行;
        
            多重目標賦值
        
            增強賦值: +=, -=, *=, /=, //=, %=, 

3)for迴圈練習

    練習1:逐一分開顯示指定字典d1中的所有元素,類似如下
        k1 v1
        k2 v2
        ...
            
            >>> d1 = { 'x':1,'y':2,'z':3,'m':4 }
            >>> for (k,v) in d1.items():
                    print k,v  
            y 2
            x 1
            z 3
            m 4
            
    練習2:逐一顯示列表中l1=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]中的索引為奇數的元素;
    
            >>> l1 = ["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]
            >>> for i in range(1,len(l1),2):
                    print l1[i]
            
            Mon
            Wed
            Fri
            
    練習3:將屬於列表l1=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],但不屬於列表l2=["Sun","Mon","Tue","Thu","Sat"]的所有元素定義為一個新列表l3; 
    
            >>> l1 = ["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]
            >>> l2 = ["Sun","Mon","Tue","Thu","Sat"]
            >>> l3 = [ ]
            >>> for i in l1:
                    if i not in l2:
                        l3.append(i)
            >>> l3
            ['Wed', 'Fri']
            
     練習4:已知列表namelist=['stu1','stu2','stu3','stu4','stu5','stu6','stu7'],刪除列表removelist=['stu3', 'stu7', 'stu9'];請將屬於removelist列表中的每個元素從namelist中移除(屬於removelist,但不屬於namelist的忽略即可);
     
            >>> namelist= ['stu1','stu2','stu3','stu4','stu5','stu6','stu7']
            >>> removelist = ['stu3', 'stu7', 'stu9']   
            >>> for i in namelist:
                    if i in removelist :
                        namelist.remove(i)
            >>> namelist
            ['stu1', 'stu2', 'stu4', 'stu5', 'stu6']

4)while迴圈練習

        練習1:逐一顯示指定列表中的所有元素;
        
            >>> l1 = [1,2,3,4,5]
            >>> i = 0
            >>> while i < len(l1)
                    print l1[i]
                    i += 1
            
            1
            2
            3
            4
            5
        
            >>> l1 = [1,2,3,4,5]
            >>> while l1:                        
                    print l1.pop(0)
                    
            1
            2
            3
            4
            5
            
        練習2:求100以內所有偶數之和;
            
            >>> i = 0
            >>> sum = 0 
            >>> while i < 101:
                    sum += i
                    i += 2
                print sum
            
            2550
            
            >>>  for i in range(0,101,2):
                    sum+=i   
                 print sum
            
            2550
            
       練習3:逐一顯示指定字典的所有鍵;並於顯示結束後說明總鍵數;
       
            >>> d1 = {'x':1, 'y':23, 'z': 78}
            >>> i1 = d1.keys()
            >>> while i1:
                    print i1.pop(0)
                else:
                    print len(d1)
            x
            y
            z
            3        

       練習4:創建一個包含了100以內所有奇數的列表;
       
            >>> d1 = [ ]
            >>> i = 1
            >>> while i < 101:
                    d1.append(i)
                    i+=2
            >>> print d1
            [1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 91, 93, 95, 97, 99]    
           
           >>> d1 = [ ] 
            >>> for i in range(1,101,2)
                    d1.append(i)
            >>> print d1
            [1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 91, 93, 95, 97, 99]
            
        練習5:列表l1=[0,1,2,3,4,5,6], 列表l2=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],以第一個列表中的元素為鍵,以第二個列表中的元素為值生成字典d1;
             
            >>> l1 = [0,1,2,3,4,5,6] 
            >>> l2 = ["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]
            >>> d1 = {}
            >>> count = 0
            >>> if len(l1) == len(l2):
                    while count < len(l1):
                        d1[l1[count]] = l2[count] 
                        count += 1

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

-Advertisement-
Play Games
更多相關文章
  • 假如你準備在模擬器裡面運行這個,你可以在“(lldb)”提示的後面輸入下麵的: (lldb) po $eax LLDB在xcode4.3或者之後的版本裡面是預設的調試器。假如你正在使用老一點版本的xcode的話,你又GDB調試器。他們有一些基本的相同的命令,因此假如你的xcode使用的是“(gdb) ...
  • 登錄模塊: 我們無論上那個網站,經常遇到這樣的情況,讓我們登錄這個網站,流程圖如下: 思路: 1.當我們登錄網站的時候,我們首先會輸入用戶名,這個時候,有些網站會提醒我們用戶名是否存在,如果我們輸入的用戶名不存在的話,會出現提示,告訴我們用戶名不存在,這個時候,我們就需要重新輸入,或者選擇註冊,當然 ...
  • 介面基礎知識: 簡單說下介面測試,現在常用的2種介面就是http api和rpc協議的介面,今天主要說:http api介面是走http協議通過路徑來區分調用的方法,請求報文格式都是key-value形式,返回報文一般是json串; 介面協議:http、webservice、rpc等。 請求方式:g ...
  • 一.Collection(java.util)1.概述:具有相同性質的一類事物的匯聚的整體,稱為集合.任何集合都包含三塊內容:對外的介面/介面的實現/對集合運算的演算法. java中使用Collection來表示單列集合頂層的介面. public interface Collection extend... ...
  • 題目背景 此題約為NOIP提高組Day2T2難度。 題目描述 眾所周知,模數的hash會產生衝突。例如,如果模的數p=7,那麼4和11便衝突了。 B君對hash衝突很感興趣。他會給出一個正整數序列value[]。 自然,B君會把這些數據存進hash池。第value[k]會被存進(k%p)這個池。這樣 ...
  • 1.switch: 接受類型有byte short int char(適合具體數值,但數值不多的情況。) 當條件成立之後,執行case之後的語句,如果執行完沒有遇到break;或者‘}’,則會繼續往下執行能執行的語句,此時不會判斷case的條件,直到 再次遇到break;或者‘}’。2.迴圈語句: ...
  • 輸出: try ……finnaly occuredmian b= 2 結論: 如果沒有異常, 則執行try 中的代碼塊,直到 try 中的 return,接著執行 finally 中的代碼塊,finally 執行完後 , 回到try 中執行 return 。退出函數。 輸出: ArithmeticE ...
  • 從各個角度總結了電商平臺中的架構實踐,由於時間倉促,定了個初稿,待補充完善,歡迎大家一起交流。 轉載請聲明出處:http://blog.csdn.net/yangbutao/article/details/12242441 作者:楊步濤 關註分散式架構、大數據、搜索、開源技術 QQ:30659136 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...