学习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()
原文地址:https://www.cnblogs.com/SwiftAC/p/12175437.html