python——基础教程——14

Python第十四节课

本节内容

Mon 06 12:00 Tue 07 12:00 Wed 08 12:00 Thu 09 12:00 Fri 10 12:00 Sat 11 12:00 Jan 12 12:00 Mon 13 集合 集合操作 数字 错误处理 练习(三级联动) 涉及范围 基础教程——13
集合

集合的特性

​ 集合相当于是字典键的组合,所以值是不重复的

​ 无序不重复是集合的特性

集合是没有下标的,所以我们只能直接去拿到键。

添加元素
add()
# 添加的元素必须是不可变的
# 所以,我们可以添加数字,字符串,元组
# 但是不可以添加列表
update()
# 添加的元素是可迭代的
# 所以,我们可以添加元组,字符串和列表
# 但是不可以添加数字
删除元素
remove()
# 删除指定的元素,如果元素不存在,那么会报错
# 没有返回值
discard()
# 删除指定的元素,如果元素不存在,不会报错
# 没有返回值
清空集合
set.clear()
判断元素是否在集合中
# 使用in 操作符

练习题:

​ 假设现在有两组数据A组:{a:86,b:90,c:60,d:75,e:60,r:45,fa:85,w:95,d:95}

​ B组:{a:86,c:60,d:75,e:60,f:78,ew:54,dc:85,s:88,w:95}

​ 现在求出同时在A班和B班上课的同学,如果这些同学的成绩分大于85分,则继续可以上课。如果不足85分,那么需要强制退出一门课。

​ 求出报了只A班和报了只B班的同学名单,安排学员访谈

​ 求出所有人的名单,如果学生小于30人, 那么合并为一个班

a = {'a': 86, 'b': 90, 'c': 60, 'd': 75, 'e': 60, 'r': 45, 'fa': 85, 'w': 95}
b = {'a': 86, 'c': 60, 'd': 75, 'f': 78, 'ew': 54, 'dc': 85, 's': 88, 'w': 95}
c = dict(a, **b)
aa = set()
bb = set()
for key in a.keys():
    aa.add(key)
for key in b.keys():
    bb.add(key)
# 两个班都有的学生集合
a_studont = aa & bb
for i in a_studont:
    if c.get(i) >= 85:
        print(f"学生:{i} 分数{c.get(i)} 可以继续上")
    else:
        print(f"学生:{i} 分数{c.get(i)} 分数不足")

# 除去上两个课的学生,剩下的学生集合
# print(aa ^ bb)
数字

三角函数

sin()

cos()

tan()

ctan()

保留位数

math.modf()
# 返回整数位
math.modf()
# 返回小数位和整数位,并且以元组的形式显示
mat.fmod()
# 返回x%y
math.factorial()
# 返回x的阶乘

角度和弧度的转换

math.randians()
# 将角度转换成弧度
math.degrees()
# 将弧度转换成角度
# 例如:
math.radians(math.pi/2) ---> 90
math.degrees(90) ---> 1.57...

数字函数

import math
a = math.fabs(-10)
print(a)
# 保留精度为一位
math.abs(-10)
# 不保留精度
a = math.ceil(5.9)
print(a)
>>>6
# 向上取整
a = math.floor(5.9)
print(a)
>>> 5
# 向下取整
a  = round(5.8)
print(a)
>>>6
# 返回整数,四舍五入
a = math.pow(3, 3)
print(a)
>>> 27.0
# 平方
a = math.sqrt(16)
print(a)
>>>4.0
# 开平方,幂不为3
# 详解:
math.pow(x, y)
# 返回x的y次幂
math.sqrt(x)
# 返回x的开平方
math.ceil(x)
# 对x做向上取整
math.floor(x)
# 对x做向下取整
round(x)
# 对x做四舍五入运算
math.fabs(x)
# 对x求绝对值,保留精度
abs(x)
# 对x求绝对值,不保留精度

练习:

​ 已知一组不能修改的数据2,3,1,5,33,24,56

​ 现在求出这组数字的标准差

​ 并且将低于标准差的数据和高于标准差的数据放在两组中

import math

a = (2, 3, 1, 5, 33, 24, 56)
c = 0
x = sum(a)/len(a)
for i in a:
    c = c + (i - x) ** 2
ns = math.sqrt(c/len(a))
print(ns)
max_a = []
min_a = []
for i in a:
    max_a.append(i) if i > ns else min_a.append(i)
print(f"大于标准差:{max_a}\n小于标准差:{min_a}")
错误处理

try 语句

​ 用来处理可能会报错的语句,并且提供解决方案

except 语句

​ 用来捕获一个错误

语法格式

try:
    执行语句
except:
    执行语句
except:
    执行语句
else:
    执行语句
finally:
    执行语句

其中,需要注意的是:else这个语句,如果try的语句是正确的,那么就会执行else语句。

也就是说,如果try中的语句没有错误,那么就不会执行else的语句,else的出现位置必须在except之后,finally之前。

finally语句无论try中的语句是否正确都会执行,不会受到影响

错误类型

错误是有很多的类型,其中BaseError是所有错误的基类。

如果except先捕获到基类的错误类型,那么就不会执行之后的except中的代码了。

raise

我们可以使用raise来抛出一个错误异常,这属于自定义错误异常。

作业:

三级联动!

在这里插入图片描述

参考方式见百度网盘,原因是作者不小心做成了全国城市联动~~~
链接:https://pan.baidu.com/s/1NT239eQJ-cUdnvkBKLUYCA 提取码:mhgw
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值