一、输入函数
1、输出函数 : print()
1、默认每一个print函数,输出完内容后输出一个换行
2、一个print函数输出多个内容的时候,内容之间是用空格隔开
3、内容后边加 end= 来设置结束标志,默认是 \n
4、通过设置sep的值来设置多个内容之间的间隔符,默认一个空格
print('gasds', 100, end='\t', sep='^')
print('zhisdsa')
2、输入函数:input()函数
1、input()函数可以接收从控制台输入的内容(以回车为结束标志),函数()里可以添加提示字符
2、input函数会阻塞线程,程序执行到input的时候会停下来,等待用户的输入,输入完成后才会执行下面的内容
3、接收到的数据是以字符串的形式返回的(Python2.x中输入的数字时候,可能返回int类型或浮点型)
value = input('输入一个整数:')
print(value, type(value))
# 练习:猜数字游戏
随机产生一个1-100的整数,输入的数字如果和产生的随机数一样,就提示猜对了并结束
如果输入的数大于或小于随机数,就提示输入的数字偏大或偏小,然后重新输入
# 产生一个随机数
import random
num = random.randint(1, 10)
while True:
shu_ru = int(input('请输入一个数:'))
if shu_ru < num:
print('输小了')
elif shu_ru > num:
print('输大了')
else:
print('猜对了')
break
二、列表
列表、字典、元组、集合都是序列,都是容器类型的数据类型
列表(list):用来存储多个数据的一种数据类型。里面存储的单个数据,叫元素。
特点:1、有序的 ;2、可变的(可变指容器中的内容的个数和值可变);3、元素可以是任何类型的数据。
列表的值:用[]将列表中的元素括起来,多个元素之间用逗号隔开。[] -->空列表
1、怎么声明一个列表
1、声明一个变量,赋一个列表值
list1 = []
print(type(list1))
<class 'list'>
2、将其他的数据类型转换成列表
list2 = list('police')
print(list2)
list3 = list(i*2 for i in range(10)) (还可以对i进行条件选择)
print(list3)
['p', 'o', 'l', 'i', 'c', 'e']
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
2、获取列表元素
列表中的每一个元素都对应一个下标:0列表长度-1或-1-列表长度
a、获取单个元素:列表名[下标]
下标不能越界,会报IndexError
b、获取部分元素(切片)
列表名[起始下标:结束下标]:获取从起始下标开始,到结束下标前所有元素,结果是一个列表
列表名[起始下标:结束下标:步进]
起始下标和结束下标都可以缺省,
起始下标缺省如果步进为正,就从第一个开始取,如果步进是负数,就从最后一个开始取到结束下标
结束下标缺省,步进为正,获取到最后一个元素,步进是负数,从起始下标往前取到第一个元素
names = ['BMw', 'Audi', 'yuri', 'joe']
print(names[:1:-1])
print(names[1::-1])
print(names[::-1])
print(names[:1])
print(names[1:])
print(names[:])
['joe', 'yuri']
['Audi', 'BMw']
['joe', 'yuri', 'Audi', 'BMw']
['BMw']
['Audi', 'yuri', 'joe']
['BMw', 'Audi', 'yuri', 'joe']
3、获取列表的长度(获取列表元素的个数)
格式:len(列表)
四、 添加列表元素
1、append 函数
格式:列表.append(元素)
在列表的末尾添加一个元素
skills = []
skills.append('气体源流')
print(skills)
['气体源流']
skills.append('拘灵遣将')
print(skills)
['气体源流', '拘灵遣将']
2、insert函数
格式:列表.insert(下标,元素)
在列表的指定的下标前插入一个元素,
注意:下标可以越界,越界后插入的元素要么最后,要么最前面,也可以为负数
skills.insert(0, '通天箓')
print(skills)
['通天箓', '气体源流', '拘灵遣将']
3、+
列表1+列表2
将列表2的元素和列表1中元素合并后创建一个新的列表
new_skills = skills + ['丰厚气门', '阿威十八式']
print(new_skills)
['通天箓', '气体源流', '拘灵遣将', '丰厚气门', '阿威十八式']
# 练习:从控制台输入10个学生的成绩,然后保存在一个列表中
score = []
for i in range(10):
sum1 = float(input('输入成绩:'))
score.append(sum1)
print(score)
五、删除列表
注意: 不管是添加元素还是删除元素,都会重新分配下标
1、 del语句
del可以删除任何数据
格式:del 列表[下标]:删除列表中指定下标的元素
注意:下标不能越界
films = ['肖申克的救赎', '阿甘正传', '摔跤吧爸爸', '赌神', '英雄本色']
del films[1]
print(films)
['肖申克的救赎', '摔跤吧爸爸', '赌神', '英雄本色']
2、remove方法
格式:列表.remove(元素):删除列表中的指定元素(如果同一个元素有多个,只删除最前面的那一个元素):
注意:如果要删除的元素不在列表中,会报错ValueError
films.remove('摔跤吧爸爸')
print(films)
3、pop方法
格式:列表.pop(): 将列表中的最后一个元素取出来
列表.pop(下标):将列表中指定下标的元素取出来
注意:下标不能越界
print(films)
film = films.pop()
print(films, film)
scores = [23,45,54,75,98,54,78],删除所有小于60
scores = [23, 45, 54, 75, 98, 54, 78, 100, 32]
scores1 = scores[:]
for i in scores1:
if i < 60:
scores.remove(i)
print(scores)
del remove 和pop区别:
del remove是把元素从内存里删除,而pop将要删除的元素提取出来放入另一个id里,但不给提取出来的元素命名,最后提取出来的元素也会被释放掉。
如果score列表元素改变,score1中的元素也会改变,但score2不会改变;score2列表的元素改变,score和score1的元素不会改变。