一、输入输出函数
1.输出函数:print()
- 默认每一个print()函数输出完内容后会输出一个换行符
- 一个print()函数输出多个内容用','隔开,输出会变成空格
- 内容后面加上end=''来设置结束标志,默认是'\n'
- 内容后加上sep='',来把原本的','显示的空格替换掉
print('aaa', 666, end='')
print('bbb', 1000, sep='')
2.输入函数:input()函数
- input()函数可以接收从控制台输入的内容,以回车为结束标志
- input()函数会阻塞线程,程序执行到input的时候会停下来等待用户的输入,输入完成后才会继续执行
- input()接收到的数据是以字符串的形式返回(python2.x中输入的是数字的时候返回的是int或者float型)
value = input('(参数/提示)请输入一个整数:')
print(value, type(value))
练习1: 随机产生一个1~100的数字,输入数字如果和产生数字提示猜对并且退出,不相等则提示小了或者是大了
import random
result = random.randint(1, 100)
count = 0
while True:
guess = int(input('请输入你猜得答案:'))
count += 1
if result > guess:
print('输入结果小了')
elif result < guess:
print('输入结果大了')
else:
if count > 5:
print('太一般了')
else:
print('运气好而已')
print('恭喜你猜对了,猜了', count, '次', sep='')
break
二、列表
- 列表\字典\元组\集合都是序列,都是容器类型得数据类型
- 列表(list):用来存储多个数据的一种数据类型,里面存储的单个数据叫做元素
- 特点:1.有序 2.可变的(内容个数和值都可改变) 3.元素可以是任何类型的数据
- 列表的值:用[]将元素括起来,多个元素之间用','隔开. []->空列表
1.声明一个列表
list1 = [] # 创建一个空列表 声明一个变量赋列表值
print(type(list1))
list2 = [1, 12.3, 'asdd', [1, 2, 3, 'a'], True, {'a': 1}]
print(type(list2), list2)
list3 = list('aaaa') # 将其他变量转换成列表 整型/浮点型/布尔型不能转换为列表
print(type(list3), list3)
list4 = list(i * 2 for i in range(10)) # 通过生成式声明列表
print(list4)
list5 = list(i for i in range(10) if i % 3 == 0)
print(list5)
2.获取列表的元素
- 列表中的每个元素都对应一个下标:0列表长度-1/-1-列表长度
注意:下标不能越界
names = ['科比', '欧文', '韦德', '名人', '姚明']
print(names)
a. 获取单个元素: 列表名[下标]
print(names[-1])
b. 获得部分元素(切片)
- 列表名[起始下标:结束下标]左闭右开: 从起始下标开始到结束下标之前的元素,结果还是列表
- 列表名[起始下标:结束下标:步进]:从起始下标开始,每次下标值加步进获取下一个元素,直到结束下标前为止
- 起始下标和结束下标都可以缺省.如果步进是正数,起始下标缺省是从0开始,如果为负则从最后一个开始,如果步进是正数,结束下标缺省是从最后开始,如果为负则从第一个开始
print(names[1:3])
print(names[-4:-1])
names[:] # 从列表中获取所有元素创建一个新的列表
c.遍历列表
scores = [59, 58, 57, 56, 88, 55, 53, 50]
count = 0
for i in scores: # for循环遍历
if i < 60:
count += 1
print(count)
3.获取列表的长度: len(列表)
i, count = 0, 0
while i < len(scores):
if scores[i] < 60:
count += 1
i += 1
print(count)
三、添加列表元素
1.append()函数添加元素
- 列表.append(元素)
- 在列表的末尾添加一个元素
skills = []
skills.append('单手暴扣')
skills.append('单脚起跳基础扣篮')
2.insert函数
- 列表.insert(index,元素)
- 在指定下标前添加元素
- 注意:index可以越界,会插入到最前/最后
skills.insert(1, '战斧式扣篮')
3.+拼接列表
- 列表1+列表2
- 将列表2中的元素与列表1的元素合并,创建一个新的列表
skills += ['传奇德雷克勒斯', '传奇乔丹']
print(skills)
练习1:从控制台输入10个学生的成绩,保存到列表中
grades = []
for _ in range(10):
grade = float(input('>>>'))
grades.append(grade)
print(grades)
四、删除列表元素
注意:不管是添加元素还是删除元素,都会重新分配下标,下标不能越界
1.del 语句
- del可以删除任何数据
- del 列表[下标]:删除列表中指定下标的元素
names = ['狗蛋', '二傻', '狗剩', '蠢蛋', '二比', '大狗', '二狗', '铁蛋', '二傻']
del names[4]
2.remove方法
- 列表.remove(元素):删除列表中的指定元素(如果有多个相同元素,只删第一个)
注意:如果删除的元素不存在,则会报错
names.remove('二傻')
print(names)
3.pop方法
- 列表.pop():弹出最后一个元素
- 列表.pop(下标):弹出指定下标的元素
注意:下标不能越界
name = names.pop()
print(names, name)
name = names.pop(2)
print(names, name)
练习1:删除所有成绩小于60分的成绩
scores = [21, 23, 50, 89, 92, 5, 35, 89, 92, 99]
for i in scores[:]:
if i < 60:
scores.remove(i)
print(scores)
总结:
最后切片虽然每次循环在更新,但是实际上for用的list是第一次的结果
网友评论