Python序列及其操作(常見)


python序列及函數入門認識:

0. 我們根據列表、元組和字符串的共同特點,把它們三統稱為什么?
   序列,因為他們有以下共同點:
1)都可以通過索引得到每一個元素
2)默認索引值總是從0開始(當然靈活的Python還支持負數索引)
3)可以通過分片的方法得到一個范圍內的元素的集合
4)有很多共同的操作符(重復操作符、拼接操作符、成員關系操作符)
1. 請問分別使用什么BIF,可以把一個可迭代對象轉換為列表、元組和字符串?
 list([iterable]) 把可迭代對象轉換為列表
 tuple([iterable]) 把可迭代對象轉換為元組
 str(obj)  把對象轉換為字符串

序列的常見內置方法(BIF):

List()

Tuple()

Len()

Str()

Sorted()

List(reversed(tuple2))     //翻轉

List(enumerate(tuple2))   //枚舉

Zip(a,b)合並a.b各個位置上的元素為元組集合

2、所謂迭代,是重復反饋過程的活動,其目的通常是為了接近並到達所需的目標或結果。每一次對過程的重復被稱為一次“迭代”,而每一次迭代得到的結果會被用來作為下一次迭代的初始值。

3、你有聽說過DRY嗎?
   DRY是程序員們公認的指導原則:Don't Repeat Yourself.
快快武裝你的思維吧,拿起函數,不要再去重復拷貝一段代碼了!
4、都是重復一段代碼,為什么我要使用函數(而不使用簡單的拷貝黏貼)呢?
     使用函數:
0) 可以降低代碼量(調用函數只需要一行,而拷貝黏貼需要N倍代碼)
1) 可以降低維護成本(函數只需修改def部分內容,而拷貝黏貼則需要每一處出現的地方都作修改)
2) 使序更容易閱讀

5、實現兩個數的最大公約數的函數代碼:

def gcd(x,y):

    i=0

    a=min(x,y)

    b=max(x,y)

    while i=0:

        if b%a==0:

            return a

            i=1

        else:

            a=b%a

            b=a

            i=0

temp=input("請輸入兩個數:",end=" ")

x=input("x=",end="")

y=input("y=")

print("x和y的最大公約數為:",gcd(x,y))

1、 實現十進制到二進制轉換的函數:

def bin2(x):

    i=0

    q=""

    while i==0:

        a=x%2

        b=x//2

        q=q+str(a)

        if b!=0:

            x=b

            i=0

        else:

            break

    xx=list(reversed(q))

    yy=len(xx)

    m=0

    qq=""

    while m<=yy-1:

        qq=qq+xx[m]

        m=m+1

    qqq="ob"+qq

    return qqq

while True:

    temp=input("輸入一個數字:")

    temp=int(temp)

    print("該數據的二進制表示為:",bin2(temp))


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM