Python第六次课
滴滴滴,每周的惯例来啦!新的知识点又来辽
一、上期回顾
名称 | 用途 |
---|---|
集合的定义 | 1.集合是无序、可变序列,使用一对大括号界定,元素不可重复,同一个集合中每个元素都是唯一的。2.集合中只能包含数字、字符串、元组等不可变类型(或者说可哈希)的数据,而不能包含列表、字典、集合等可变类型的数据。 |
集合的创建与删除 | 1.使用set将其他类型数据转换为集合 2.当不再使用某个集合时,可以使用del命令删除整个集合。3.集合对象的pop()方法弹出并删除其中一个元素。4.remove()方法直接删除指定元素。5.clear()方法清空集合 |
集合运算 | 1.并集。2.交集。3.差集。4.对称差集 |
二、逻辑运算符
2.1 选择
逻辑运算符and和or以及关系运算符具有惰性求值特点,只计算必须计算的表达式。
2.1.1 and 和 or
对于表达式“表达式1 and 表达式2”而言,如果“表达式1”的值为“False”或其他等价值时,不论“表达式2”的值是什么,整个表达式的值都是“False”,此时“表达式2”的值无论是什么都不影响整个表达式的值,因此将不会被计算,从而减少不必要的计算和判断。
>>> def Join(chList, sep=None):
return (sep or ',').join(chList)
>>> chTest = ['1', '2', '3', '4', '5']
>>> Join(chTest)
输出:'1,2,3,4,5'
>>> Join(chTest, ':')
输出:'1:2:3:4:5' #选定分隔符
>>> Join(chTest, ' ')
输出:'1 2 3 4 5'
2.1.2 单分支选择结构
格式:
if 表达式:
语句块
例子:
x = input('Input two number:')
a, b = map(int, x.split())
if a > b:
a, b = b, a #序列解包,交换两个变量的值
print(a, b)
2.1.3 双分支选择结构
格式:
if 表达式:
语句块1
else:
语句块2
例子:
>>> chTest = ['1', '2', '3', '4', '5']
>>> if chTest:
print(chTest)
else:
print('Empty')
输出:['1', '2', '3', '4', '5']
2.1.4 三元运算符
格式:
value1 if condition else value2
当条件表达式condition的值与True等价时,表达式的值为value1,否则表达式的值为value2。在value1和value2中还可以使用复杂表达式,包括函数调用和基本输出语句。这个结构的表达式也具有惰性求值的特点。
例子:
>>> a = 5
>>> print(6) if a>3 else print(5)
输出:6
>>> print(6 if a>3 else 5)
输出:6
>>> b = 6 if a>13 else 9
>>> b
输出:9
2.1.5 多分支结构
if 表达式1:
语句块1
elif 表达式2:
语句块2
elif 表达式3:
语句块3
else:
语句块4
其中,关键字elif是else if的缩写。
例子:题目:利用多分支选择结构将成绩从百分制变换到等级制。
def func(score):
if score > 100:
return 'wrong score.must <= 100.'
elif score >= 90:
return 'A'
elif score >= 80:
return 'B'
elif score >= 70:
return 'C'
elif score >= 60:
return 'D'
elif score >= 0:
return 'E'
else:
return 'wrong score.must >0'
2.1.6 选择结构的嵌套
结构:
if 表达式1:
语句块1
if 表达式2:
语句块2
else:
语句块3
else:
if 表达式4:
语句块4
注意:缩进必须要正确并且一致。
三、选择结构的应用
编写程序,判断今天是今年的第几天。
import time
date = time.localtime() #获取当前日期时间
year, month, day = date[:3]
day_month = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
if year%400==0 or (year%4==0 and year%100!=0): #判断是否为闰年
day_month[1] = 29
if month==1:
print(day)
else:
print(sum(day_month[:month-1])+day)
四、总结
最后的惯例,感叹一波!冲吧!!!!