学习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