1、创建集合

image.png

创建集合的方法:**

  • 直接赋值法

将集合中的元素用花括号包裹起来

  1. arr = {1,2,3,4}
  2. print(type(arr))
  • set函数创建法

    • 1、set函数创建空集合

      1. arr = set()
    • 2、以列表,通过set函数创建集合

      1. li = [1,1,2,3,4]
      2. arr = set(li) # 把列表作为set函数的参数
      3. print(arr)

      注意集合会自动去重

    • 3、frozenset函数创建法

      1. li = [1,1,2,3,4]
      2. arr = frozenset(li)
      3. print(arr)

      frozenset创建出来的集合是不可以修改的集合

2、内存空间

image.png

3、input返回值类型默认是字符串

image.png
如果要从键盘中输入一个整数并赋给变量x,需要进行 类型转换 :

  1. x = int(input("请输入变量x的值:"))

4、辗转相除法

image.png

  1. def gcd(m, n): # 最大公约数
  2. if m < n:
  3. m, n = n, m
  4. if m % n == 0:
  5. return n
  6. else:
  7. return gcd(n, m % n) # 函数的递归调用
  8. n = gcd(2, 3)
  9. print(n)

5、埃氏筛法

image.png

image.png

  1. import math
  2. n = int(input("请输入n:"))
  3. m = int(math.sqrt(n))
  4. p = [i for i in range(n+1)]
  5. for i in range(2,m+1):
  6. if p[i]:
  7. for j in range(2*i,n+1,i): # 题目中需要填空的地方
  8. p[j]=0
  9. for i in range(2,n+1):
  10. if p[i]:
  11. print(p[i],end=" ") # 需要填空的地方

6、函数返回一个元组(同时返回多个值)

函数返回多个值的方式,是以元组的方式

  1. def fun():
  2. a = 10
  3. b = 20
  4. c = 30
  5. return a,b,c
  6. r = fun()
  7. print(type(r))

输出结果:
image.png
image.png

求最大公约数:辗转相除法
求最小公倍数:最小公倍数 = 两数乘积 / 最大公约数

  1. def gcd(m,n): # 求两个数的最大公约数
  2. if m < n:
  3. m,n = n,m
  4. if m % n == 0:
  5. return n
  6. else:
  7. return gcd(n,m % n)
  8. def lcm(m, n): # 求两个数的最小公倍数
  9. # 最小公倍数 = 两数乘积 / 最大公约数
  10. temp = gcd(m, n)
  11. return m*n / temp
  12. def func(m,n):
  13. gongbei = lcm(m,n)
  14. gongyue = gcd(m,n)
  15. return gongbei, gongyue
  16. arr = func(27,81) # 调用func函数 求两个数的最小公倍数和最大公约数
  17. print(type(arr))
  18. print(arr[0])