python基础第八课笔记和作业

本文详细介绍了Python中集合的基本操作及常用函数,包括通过不同方法创建集合、集合间的运算等。同时深入探讨了函数的定义与使用,涵盖参数传递、返回值处理等内容。

集合

集合常用函数
  • 可以通过set()来将序列和字典转换成集合
  • len() 使用len()来获取集合中元素的数量
  • add()像集合中添加元素
  • update()将一个集合中的元素添加到另一个集合当中
  • pop()随机删除集合中的一个元素一般是删除最后一个元素
  • remove() 删除集合中指定的元素
  • clear() 清空集合
集合的运算
  • & 交集运算
  • | 并集运算
  • - 差集运算
  • ^ 亦或集
  • <= 检查一个集合是否是另一个集合的子集
  • < 检查一个集合是否是另一个集合的真子集
  • =检查一个集合是否是另一个集合的超集

  • 检查一个集合是否是另一个集合的真超集

函数

  • 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。
  • 任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。
  • return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。
函数的参数
  • 形参和实参
    • 形参(形式参数) 定义形参就相当于在函数内部声明了变量,但是并不是赋值
    • 实参(实际参数)指定了形参,那么在调用函数时必须传递实参,实参将会赋值给对应的形参,简单来说有几个形参就要有几个实参
  • 函数的传递方式
    • 定义形参时,可以为形参指定默认值。指定了默认值以后,如果用户传递了参数则默认值不会生效。如果用户没有传递,则默认值就会生效
    • 位置参数:位置参数就是将对应位置的实参赋值给对应位置的形参
    • 关键字参数 : 关键字参数可以不按照形参定义的顺序去传递,而根据参数名进行传递
    • 混合使用位置参数和关键字参数的时候必须将位置参数写到关键字参数前面去
  • 不定长参数
    • 定义函数时,可以在形参前面加一个*,这样这个形参可以获取到所有的实参,它会将所有的实参保存到一个元组中
    • 带*号的形参只能有一个,可以和其他参数配合使用
    • *形参只能接受位置参数,不能接受关键字参数
    • **形参可以接收其他的关键字参数,它会将这些参数统一保存到字典当中。字典的key就是参数的名字,字典的value就是参数的值
    • **形参只有一个,并且必须写在所有参数的后面
  • 参数的解包
    • 传递实参时,也可以在序列类型的参数前添加星号,这样它会自动的将序列中元素依次作为参数传递
    • 要求序列中的元素的个数必须和形参的个数一致

作业

打印名片程序:输入姓名,电话号码,性别,最后打印出来名片

  • 控制姓名长度为6-20
  • 电话号码长度11
  • 性别只能允许输入男或女
  • 每一样信息不允许为空
import re


def print_card(name, phone, gender):
    verify_name = re.match(r'^.{6,20}$', name)
    name_ok = verify_name is not None
    phone_ok = phone.isdigit() or len(phone) == 11
    gender_ok = gender == '男' or gender == '女'
    if name_ok is False:
        print('用户名输入有误')
    if phone_ok is False:
        print('电话号码输入有误')
    if gender_ok is False:
        print('性别输入有误')
    if name_ok and phone_ok and gender_ok:
        star = '**************************'
        show_name = f"姓名: {name}".center(len(star))
        show_phone = f"电话: {phone}".center(len(star))
        show_gender = f"性别: {gender}".center(len(star))
        print(star)
        print(f"{show_name}\n{show_phone}\n{show_gender}")
        print(star)


c_name = input("姓名: ")
c_phone = input("电话: ")
c_gender = input("性别: ")
print_card(c_name, c_phone, c_gender)

使用函数求前20个斐波那契数列斐波那契数列:1,1,2,3,5,8,13,21…即: 起始两项均为

  • 1,此后的项分别为前两项之和
def feibo(n):
    a = 1
    b = 1
    c = 1
    while c <= n:
        if c == 1 or c == 2:
            print(c)
        else:
            a, b = b, b + a
            print(b)
        c += 1


feibo(20)

编写一段代码,定义一个函数求1-100之间所有整数的和,并调用该函数打印出结果

num = 0
for i in range(1, 101):
    num += i
print(num)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值