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))

猜你喜欢

转载自www.cnblogs.com/Yanjy-OnlyOne/p/9841038.html