美文网首页
05 输入输出 & 列表

05 输入输出 & 列表

作者: 卅月 | 来源:发表于2018-07-20 19:23 被阅读0次

    一、输入输出函数

    1.输出函数:print()

    print('输出内容', '输出内容', '输出内容', sep='---', end='-----')
    

    sep:设置每个输入内容之间的间隔符号(默认为空格)
    end:设置print输出完内容后的结束符号(默认为\n,换行)
    输出:

    输出内容---输出内容---输出内容-----

    2.输入函数:input()

        a.input()函数可以接受从控制台输入的内容
        b.它会阻塞线程,执行到input后用户输入完成后才能继续执行后面的语句。
        c.它接受到的数据,全部是以字符串的形式储存的
        d.为了用户体验,可以在input()的括号里设置提示内容。

    # 练习:猜数字游戏
    import random
    rig = random.randint(1, 10)
    num = -1
    count = 0
    
    while num != rig:
        num = int(input('输入:--->'))    #将输入的数字转换成整型,再参与比对
        count += 1
        if num < rig:
            print('太小了,请重新输入')
            continue
        elif num > rig:
            print('太大了,请重新输入')
            continue
        else:
            print('猜对了,数字是', rig, '你猜了', count, '次')
            break
    

    运行结果:

    输入:--->7
    太大了,请重新输入
    输入:--->3
    太小了,请重新输入
    输入:--->5
    猜对了,数字是 5 你猜了 3 次

    二、列表

    1.列表特性

    • 列表(list)是一种容器类型的数据类型。用来储存多个数据,列表里的单个数据,称作元素
    • 列表的特点:
      (1). 有序的,列表用[ ]将元素括起来,多个元素用 , 隔开;
      (2).可变的(容器中的元素个数,和元素的值);
      (3).元素可以是任何类型的数值。
    • 声明一个元素:
    list1 = []  # 创建一个空的列表
    list2 = [1, 12.0, 'abc', [1, 2, 3, 'a']]
    print(list2, type(list2))
    
    
    • 将其他的数据类型转换成列表
      list3 = list('abcde23')
      转换完成后,字符串list的每个字符都变成list3的元素。
      输出

    ['a', 'b', 'c', 'd', 'e', '2', '3']

    2.获取列表元素

    列表类似字符串,每个元素都有自己相对应的下标(0 - len(list)-1)

    • 获取单个元素
      变量名 = 列表[index] ------>(index:下标)
    • 获取多个元素
      同字符串的字符获取一样,列表也支持'切片'操作。
      列表[ 起始下标 : 结束下标 : 步进 ]
          a.步进默认为1,其中前后下标都支持缺省。
          b.列表同字符串一样,同样支[ -1:-len(list)]的操作,结合步进,视情况可以灵活运用。
    names = ['路飞', '佐罗', '娜美', '鸣人', '佐助']
    print(names[::-1])
    

    输出:

    ['佐助', '鸣人', '娜美', '佐罗', '路飞']

    3.添加列表元素

    往列表里添加元素的3种方式:

    • (1)append()函数
      列表.append(元素)
      在列表的末尾添加一个元素,一次只能添加一个元素
    • (2) insert()函数
      列表.insert(index,元素)
      在指定的下标 前面 添加一个元素。index为指定的下标,如果越界了,则插入到最前面或者最后面
    • (3)+
      列表1+列表2
      将列表2中的元素(添加)拼接到列表1中,创建一个新的列表
    #练习:输入10个人的成绩到列表,并打印出来
    
    #append函数实现
    score = []
    for _ in range(0, 10):
        value = float(input('请输入成绩'))
        score.append(value)
    print(score)
    
    #insert实现:
    score = []
    for i in range(0, 10):
        value = float(input('请输入'))
        score.insert(i, value)
    print(score)
    
    # + 实现:
    score = []
    for _ in range(0, 10):
        value = float(input('请输入成绩'))
        score = score + [value]
    print(score)
    
    

    输出:

    [1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0]

    4.删除列表元素

    实现删除列表的元素也有3种方式:

    • (1)del语句
      del可以删除任何数据
      del 列表[index] :删除列表中指定下标的元素
    • (2)remove()方法
      列表.remove(元素):删除列表中的指定的元素
      删除列表中的指定的元素(如果同一个元素有多个,只能删除最前面那一个)
      注意:如果要删除的元素不在列表中,会报错
    • (3)pop()方法
      pop方法与前两种方法的区别在于,用pop方式出来的元素不会被删除。
      列表.pop():将列表中的最后一个元素取出来
      列表.pop(index):将列表中指定下标的元素取出来,如果不保存,可以提出来保存在某个变量。则元素从内存中移除,这儿的下标不能越界.
    # scores = [23, 45, 78, 32, 90, 89, 1],删除小于60分的成绩
    scores = [23, 45, 78, 32, 90, 89, 1]
    for item in scores[:]:
        if item < 60:
            scores.remove(item)
    print(scores)
    

    输出

    [78, 90, 89]

    注意:
    上面程序的for循环中的scores[ : ]:
    在程序运行的时候代表着:

    new_list = scores
    for item in new_list:
    

    这时候参与循环的列表是被赋值的新的列表,循环的时候列表的元素位置不会变,程序得以正常进行。
    如果直接在for循环里对scores这个列表进行操作,剔除了前面的数据后,剩下的数据位置发生改变,遍历列表的意义就不在了!!!
    错误的例子如图:


    错误的程序

    相关文章

      网友评论

          本文标题:05 输入输出 & 列表

          本文链接:https://www.haomeiwen.com/subject/buuqmftx.html