*切片/浅拷贝/浅复制/上周实验
切片操作
切片适用于列表、元组、字符串、range对象等类型
列表时功能最强大。可以使用切片来截取列表中的任何部分,得到一个新列表,也可以通过切片来修改和删除列表中部分元素,甚至可以通过切片操作为列表对象增加元素。不会因为下标越界而抛出异常,而是简单地在列表尾部截断或者返回一个空列表,代码具有更强的健壮性。
用法
alis[start :end :step]
start 表示切片开始位置(默认为0)
end表示切片截止(但不包含)位置(默认为列表长度)
step表示切片的步长(默认为1),当步长省略时可以顺便省略最后一个冒号。
浅拷贝/浅复制
切片操作返回的是列表元素的浅拷贝:生成一个新的列表,并且把原列表中所有元素的引用都复制到新列表中
如果原列表中只包含整数、实数、复数等基本类型或元组、字符串这样的不可变类型的数据,一般是没有问题的,如果原列表中包含列表之类的可变数据类型,由于浅复制时只是把子列表的引用复制到新列表中,这样的话修改任何一个都会影响另外一个
用法
b = a[:] ;blist = alist
课堂实验
1.任务:一小球以 5 米/秒的水平速度平抛,重力加速度取 9.8 米每秒的平方,在忽略空气阻力的情况下,求经过时间 t 秒后,小球所在位置与抛出点之间的距离 (假设小球距地面足够高)。
t=float(input("shu"))
x=((0.5*9.8*t*t)**2+25*t*t)**0.5
#print(round(x,2),end='\n')
print('{:.2f}'.format(x))
print(format(x,'.2f'))#保留两位小数
2.进制转换,输入8位二进制数,分别将其转换为八进制、十进制、十六进制输出。
a=int(input(),2)#输入并转换为二进制
print(