05 输入输出 & 列表

一、输入输出函数

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 输入输出 & 列表)