python中的输入输出函数
1.输出函数:print()
1.默认每一个print函数,输出完内容后会输出一个换行
2.一个print函数输出多个内容时,内容之间是用空格隔开的
3.内容后边加end=来设置结束标志(默认是'\n')
4.通过设置sep的值,来设置显示多个内容之间的间隔符(默认是' ')
print('aaa',100,end=' ',sep=',')
print('bbb') # aaa,100 bbb
2.输入函数:input()
1.input()可以接收从控制台输入的内容(以回车为结束标志)
2.input()会阻塞线程,程序执行到input的时候会停下来,等待用户的输入,输入完成后才会接着执行下面的内容
3.接收到的数据是以字符串的形式返回的(python2.x输入的是数字的时候,可能返回int类型或者float类型数据)
value = input('请输入一个整数:')
print('name',value,type(value))# name 4 <class 'str'>
# 练习:猜数字游戏
"""
随机产生一个1-100的整数
输入的数字如果与产生的书一样,就提示猜对了,并且游戏结束
如果输入的数大于或者小于随机数,提示偏大或者偏小,重新输入
"""
import random
c_number = random.randint(1,100)
count = 0
while True:
number = input('请输入你猜测的数字:')
count += 1
if int(number) > c_number:
print('偏大')
elif int(number) < c_number:
print('偏小')
else:
print('恭喜你,猜对了','共猜测了%d次'%(count))
break
print('游戏结束')
python中的序列(容器类型数据)
列表、字典、元组、集合都是序列,都是容器类型的数据类型
1.列表
列表(list):用来存储多个数据的一种数据类型。里面存储的单个数据,我们叫元素
特点:1.有序的
2.可变的(可变指定是容器中的内容的个数和值可变)
3.元素可以是任何类型的数据
1.怎么声明一个列表
- 声明一个变量,赋一个列表值
list1 = [] # 创建一个空列表
print(type(list1))
list2 = [1,12.9,'abc',True]
print(list2,type(list2))
- 将其他的数据类型转换成列表
list3 = list('abc1234')
print(list3) # ['a','b','c','1','2','3','4']
list4 = list(i*2 for i in range(1,4))
print(list4)
2.获取列表元素
列表中的每一个元素都对应一个下标:0列表长度-1;-1-列表长度
names = ['黑崎一护','日番谷冬狮郎','朽木白哉','山本元柳斎重国','蓝染物右介']
a.获取单个元素:列表名[下标]
print(names[2])
print(names[-3])
# print(names[9]) # IndexError:list Index out of range
b.获取部分元素(切片)
- 列表名[起始下标:结束下标]:获取从起始下标开始到结束下标前的元素,结果还是一个列表
- 列表名[起始下标:结束下标:步进]:获取从起始下标开始到结束下标前的间隔距离为步进值的元素,结果还是一个列表
注:起始下标和结束下标都可以缺省: - 起始缺省+正步进=从第一个元素开始获取
- 起始缺省+负步进=从最后一个元素开始获取
- 结束缺省+正步进=获取到最后一个元素
- 结束缺省+负步进=从后往前获取到第一个元素
print(names[1:3])
print(names[-4:-1])
print(names[0:4:2])
print(names[:]) # 获取列表中的所有元素,用于重新创建一个新的含有相同元素的列表
c.一个一个地获取列表元素(遍历列表)
# for循环
scores = [12,34,56,78,90]
for item in scores:
print(item,end=' ')
#while循环
index = 0
while index < len(scores):
print(scores[index])
index += 1
3.获取列表的长度(获取列表元素的个数)
print(len(scores)) # 5
4.添加列表元素
# 创建一个空表
skills = []
- append函数:在列表末尾添加一个函数
使用方法:列表名.append(元素)
skills.append('气体源流')
print(skills)
skills.append('拘灵遣将')
print(skills)
# 练习:从控制台输入10个学生的成绩,然后保存到一个列表中
score_list = []
for i in range(1,11):
score = input('第%d个学生成绩='%(i))
score_list.append(float(score))
print('集合为:'+str(score_list))
- insert函数:在列表指定的下标index前插入一个元素
使用方法:列表名.insert(index,元素)
注:index下标可以越界,越界时插入到最前面或者最后面
skills.insert(1,'通天箓')
print(skills)
skills.insert(10,'通天箓2')
print(skills)
- + 符号:将列表1和列表2中的元素合并创建一个新的列表
使用方法:列表1+列表2
new_skills = skills + ['风后奇门']
print(new_skills)
5.删除列表元素
注意:不管是添加元素还是删除元素,都会重新分配下标
- del可以删除任何数据
使用方式:del 列表[下标]:删除列表中指定下标的元素
注:下标不能越界
films = ['肖申克的救赎','阿甘正传','环太平洋2','赌神','逃学威龙']
del films[1]
print(films)
- remove方法
使用方式:列表名.remove(元素):删除列表中的指定元素(如果同一个元素有多个,只删除最前面的一个)
注:如果要删除的元素不在列表中,会报错
films.remove('逃学威龙')
print(films)
- pop()
使用方式:列表名.pop() / 列表名.pop(下标)
方法说明:将列表中最后一个元素取出(可存储使用) / 将列表中指定下标的元素取出(可存储使用)
注:下标不能越界
r_movie = films.pop()
print(films,r_movie)
r_movie2 = films.pop(0)
print(films,r_movie,r_movie2)
重要实例:
# scores = [23,45,45,78,32,90,89,1],删除所有小于60的成绩
scores = [23,45,45,78,32,90,89,1]
for x in scores[:]:#复制全新的列表
if x < 60:
scores.remove(x)
print(scores)
网友评论