一、输入输出函数
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这个列表进行操作,剔除了前面的数据后,剩下的数据位置发生改变,遍历列表的意义就不在了!!!
错误的例子如图: