学习python第三天
昨天双色球的作业:有些同学不知道双色球规则,我这里说一下。
规则:一共八个球,六个红球两个蓝球。红球范围1-32,蓝球1-16。每个红球号码不能重复,每个蓝球号码不能重复。先让用户选六个红球,再选两个蓝球。
red_list = []
blue_list = []
while len(red_list) < 6:
red = int(input("请输入红球的号码:"))
if red > 0 and red < 33:
if red in red_list:
print("此号码已选择")
else :
red_list.append(red)
else:
print("对不起,你输入的号码超出范围!")
print(red_list)
while len(blue_list) < 2:
blue = int(input("请输入蓝球的号码:"))
if blue > 0 and blue < 17:
if blue in blue_list:
print("此号码已选择")
else :
blue_list.append(red)
else:
print("对不起,你输入的号码超出范围!")
print(blue_list)
变量(对象)的内存地址:id(变量名)
判断变量的类型:name = “qqq” type(name) is str #判断变量是否为str type(name) is not str #判断是否不是str
None:可以占位用。name = None
三元运算:d = a if a > 15 else b 。当a>15时,d=a,否则d = b
细讲列表:增删改查之前讲过,这次加几个。
1. 合并 n = [ ] names = [ ] names.extend( n ) 将列表 n 追加到列表 names 中。n中的元素追加到names 元素后。追加 追加 追加!
2. 列表的嵌套(列表中的元素还是列表)
age = [222, 333, 444, 555]
names = [12, 23, age, 343]
print(names[2][2])
names = [12, 23, 343]
names.insert(2, [1, 2, 3])
print(names[2][2])
3. 删除 :del 直接删、pop 删除、clear 清空
pop( ) 删除:默认删除最后一个元素并返回这个被删除的元素。 pop(索引)指定删除
clear()清空。 names.clear()
remove(): 删除列表从左到右数第一个元素值 names.remove(“hell”)
4. 查:index() names.index(“qwe”) 返回从列表左侧数第一个为qwe元素的索引值 列表长度(元素个数从一开始计数) len(names)
5. 反转:names.reverse( )\
6.排序:names.sort() 整形从小到大排序 数字和字符串混合不能排序(2里面好像可以。这里用的py3) 字符串排序,sort()排序规则按着表来。(忘了啥表了,后面用到再说)
列表切片:同时取出列表中多个值 name [start : end] n [1:4] n[1:-2] n[1:] n[ :3] 切片顾头不顾尾,不包含最后一个索引的元素。除非n[1: ] 冒号后边空着,代表取从索引1之后的所有值
步长:name [start : end : number] number填写步长数。步长1,连续切,步长2,跳着切。步长3,4,5……
当步长为-1的时候,列表切片可实现从右往左取值,也可实现列表反转(反转的只是切片,原列表没有反转)
小练习:1. 通过index()方法,返回相同元素的第二个的索引值
2. 把一个列表通过切片形式反转 (步数-1)
3. 打印列表所有奇数元素的索引值
names = [12, 23, 343, 34]
n = 0
while n < len(names):
m = names.index(names[n])
if m%2 != 0:
print(m)
n += 1
思考:列表如何去除、找到重复值。如何获取多个表的重复值
昨天失眠,今天一天不在状态 T_T