zoukankan      html  css  js  c++  java
  • 学习python的第二天

    今天学了学递归,所有语言的递归都是一个思想吧。拿递归画了个小雪花,还蛮好玩的。哈哈哈哈哈哈。

    科赫小雪花:

    import turtle
    def koch(size, n):
        if n == 0:
            turtle.fd(size)
        else:
            for angle in [0, 60, -120, 60]:
                turtle.left(angle)
                koch(size / 3, n - 1)
    
    
    def main():
        turtle.setup(800, 800)
        turtle.penup()
        turtle.goto(-300, -50)
        turtle.pendown()
        turtle.pensize(2)
        level = 3
        koch(400, level)
        turtle.right(120)
        koch(400, level)
        turtle.right(120)
        koch(400, level)
        turtle.hideturtle()
    
    
    main()

    集合操作符:

    并操作:S | T

    差操作:S - T

    交操作:S & T

    补操作:S ^ T

    关系操作符:<=,>=,<,>

    集合处理方法:

    S.add(x) 如果x不在集合S中,将x增加到S

    S.discard(x) 移除S中元素x,如果x不在集合S中,不报错

    S.remove(x) 移除S中元素x,如果x不在集合S中,产生KeyError异常

    S.clear() 移除S中所有元素

    S.pop() 随即返回S的一个元素,更新S,若S为空产生KeyError异常

    S.copy() 返回集合S的一个副本

    len(S) 返回集合S的元素个数

    x in S 判断S中元素x,x在集合S中,返回True,否则返回False

    x not in S 判断S中元素x,x不在集合S中,返回True,否则返回False

    set(x) 将其他类型变量x转变为集合类型

    集合的利用:

    数据去重:

    l = "hello"
    s = set(l)
    l = list(s)
    print(l)

    序列类型通用操作符:

    x in s 如果x是序列s的元素,返回True,否则返回False

    x not in s 如果x是s的元素,返回False,否则返回True

    s + t 连接两个序列s和t

    s * n 或n * s 将序列s复制n次

    s[i] 索引,返回s中第i个元素,i是序列的序号

    s[i : j] 或 s[i : j : k] 切片,返回序列s中第i到j以k为步长的元素子序列

    序列类型操作实例:

    ls[::-1] 反转一个序列

    序列类型通用函数和方法:

    len(s) 返回序列s的长度,即元素个数

    min(s) 返回序列s的最小元素,s中元素需要可比较

    max(s) 返回序列s的最大元素,s中元素需要可比较

    s.index(x) 或 s.index(x, i, j) 返回序列s从i开始到j位置中第一次出现元素x的位置

    元组类型操作:

    元组类型创建后无法修改

    print(ls[::-1]) 反转输出一个元组类型,但是并不改变原有的顺序

    列表注意事项:

    ls = ['cat']
    lt = ls
    lt[0] = 'rat'
    print(ls[0])
    #这样将ls复制lt,只是lt,ls指向同一片存储空间,并没有重新创建一个列表,所以修改lt[0]的值会改变ls[0]的值

    列表类型操作函数和方法

    ls.append(x) 在列表ls最后增加一个元素x

    ls.clear() 删除列表ls中所有元素

    ls.copy() 生成一个新列表,赋值ls中所有元素

    ls.insert(i, x) 在列表ls的第i位置增加元素x

    ls.pop(i) 将列表ls中第i位置元素去除并删除该元素

    ls.remove(x) 将列表中出现的第一个元素x删除

    ls.reverse() 将列表ls进行反转

    列表元素的操作运用:

    lt = []
    for i in range(5):
        lt.append(i)
    lt[1] = 5
    lt.insert(1, 6)
    del lt[0]
    del lt[0:3]
    if 0 in lt:
        print("YES")
    else:
        print("NO")
    lt.append(0)
    pos = lt.index(0)
    size = len(lt)
    max_element = max(lt)
    print(lt)
    print(pos)
    print(size)
    print(max_element)
    lt.clear()
  • 相关阅读:
    PHP把下划线分隔命名的字符串与驼峰式命名互转
    Cocos2d-JS/Ajax用Protobuf与NodeJS/Java通信
    gulp 实现 js、css,img 合并和压缩
    转:入门Webpack,看这篇就够了
    微信开发教程:用户账号绑定到微信公众号的方法分享
    C#RSA算法实现+如何将公钥为XML格式转为PEM格式,给object-C使用
    php使用openssl进行Rsa长数据加密(117)解密(128) 和 DES 加密解密
    Windows下将nginx安装为服务运行
    转载:Centos7 从零编译配置Memcached
    转载:Centos7 从零编译Nginx+PHP+MySql 二
  • 原文地址:https://www.cnblogs.com/SwiftAC/p/12175437.html
Copyright © 2011-2022 走看看