前言
我相信很多朋友都会跟我一样,一直听身边的人说python是比较简单的编译语言,但是对于没有任何编程基础的小白来说,单纯的浏览CSDN这个网站都头大。作为有着同样痛点的我,今天开始发布我的第一篇帖子,手把手教同为小白的朋友们一起学习python一起进步。
我学习python的方式主要是自己看书学习,如果有朋友想要相关方面的电子书资源可以评论区留言或者私信。
关于我的介绍:
目前是本科大三在读,爱丁堡大学商学院商业管理专业
对于学习python纯属是因为我个人的兴趣,本来今年的计划是学习Java的,但是由于考虑到将来要做的数据分析和各种研究报告可能会用到python(主要是因为python比java简单😂)这才开始了我的python学习之旅
本身由于我就是小白,我也会分享在我学习的时候遇到的各种问题,以及怎么解决的。本身这个贴就是面向小白的,各位如果看到我的问题分享依旧解决不了自己的疑问的话,可以直接分享到评论区,供大家一起参考学习。随着持续的更新,我会不定期根据评论区各位的疑问制作专门的解疑答惑贴。
前面讲的列表其元素都是字符串的形式,那么关于数值列表呢?
1. 用range()函数来创建数值列表
对于数值列表,可以用range()函数来创建一系列数
range (start, stop, step)
(起始值,结束值,步长)
for value in range (0,11):
print (value)
0
1
2
3
4
5
6
7
8
9
10
Q: 为什么在range函数里是0-11,但是print结果是0-10?
A:因为起始值是0,结束值是11,这是由于python的编程逻辑会默认保持打印结果与结束值-1。
#在range() 函数里,起始值默认是0,但步长默认是1
for i in range (4): #此时的range(0,4,1) 由于是默认值就直接省略了
print (i)
0
1
2
3
#在这种情况下,及时不标明步长,系统也能默认按照1来增加
#!!!!如果你想保持默认起始值,但是想要改变步长,一定要标出来起始值
#起始值:0,结束值4,步长2
for i in range (0,4,2): #这样才不会被系统将步长误认为结束值
print (i)
for i in range (4,2)#错误示范,这样系统会直接认定这是一个空的,因为结束值小于起始值了,在range()函数里,结束值必须大于起始值!否则就会直接“空”
#如果想要倒着排列数列,例如4-1: 4,3,2,1这样排列;可以调整步长
for i in range (9,3 -1): #步长是-1,就会按照倒数的形式print
print (i)
9
8
7
6
5
4
#同样的逻辑,最后一个数是结束值-1,只不过此时的是倒数,从9数到3前一位就是4
Q:如果我把结束值设为浮点数会怎么样?(带小数点的)
A:range函数不允许浮点数的运算,就算是步长是用浮点数,也会报错
for i in range (0,7.8):
print (i)
Traceback (most recent call last):
File "<pyshell#33>", line 1, in <module>
for i in range (0,7.8):
TypeError: 'float' object cannot be interpreted as an integer
#range()函数不能编译浮点数
2. 使用range()函数创造数值列表
使用list() 函数创造列表
number = list(range(0,10))
print (number)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
除此之外,还可以用基于range()函数创造任何形式的数值列表,例如1-10之间的偶数列表
这里需要用到range()函数的另一个点,那就是“步长”
number = list(range(2,11,2))
print (number)
[2, 4, 6, 8, 10]
关于这个操作可以这么解释:
起始值是2,结束值是11,这样10就可以被考虑进去,同时这个数列又是以2为单位增加,这样就可以实现打印偶数数列
除此之外,还可以实现1-10之间的奇数列表
number = list(range (1,10,2))
print (number)
[1, 3, 5, 7, 9]
这里考虑的是1-10之间的奇数,如果继续按照上一个例子结束值写成11 的话,系统会把11 也打印出来
除了简单的奇偶数列,我们还可以添加运算,例如平方运算
平方运算的指令是两个星号(两个乘号)**
lists = [] #先制作一个空列表
for number in range(1,11):#制作一个数串
number_square = number ** 2 #对数串进行平方运算并赋值到变量number_square
lists.append (number_square)#将这个平方完的数串插入到列表
print (lists)
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
list= []
for number in range (1,11):
list.append(number **2 )#甚至可以直接在.append()里面进行平方
print (list)
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
除了像上文这样创造很多行代码去创造数列并求平方,接下来介绍一个更简单的方式,但是需要对于上文代码有充足的理解
square = [number ** 2 for number in range (1,11)]
print (square)
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
这个例子直接将列表、for循环、平方、range函数都包含并用一行代码将其打印出来。
定义一个列表,但是列表里添加的不是直接单引号括住的元素,而是先对“number”这个值平方,紧接着就是for循环,并将这个值套入到range函数里生成1-10的数。这个时候系统从左到右的处理信息会先处理“number ** 2” 这个信号,for循环是将range函数里生成的1-10 一个接一个的套入到“number**2” 里进行平方。
最后打印这个量“square”
3. 对数值列表进行统计计算
使用这些指令可以轻松找到数列的最大值,最小值,求和
lists = list(range(0,9))
print (lists)
print (min(lists))#min()= minimun 最小值
print (max(lists))#max()= maxmum 最大值
print (sum(lists))#sum()求和
[0, 1, 2, 3, 4, 5, 6, 7, 8]
0
8
36
结语
在这一部分我们学习了range() 函数去创造一个数串,并用list()函数去创造列表。除此之外,我们还学习了如何进一步的使用for循环以及range()函数去创造我们想要的数列。例如上文说的创造一个1-10的十个数平方完的数列。除此之外还有求最大值最小值和求和的一些指令应用。
说完这期的学习内容聊聊别的,可能是因为最近临近大四了,学业压力直线上升,自己的精力也能感觉到不太够用,一方面要顾着各科的作业,另一方面自己的小组研究还得进行,不仅这些还有毕业论文的筹备,此外就是python的学习。我还真挺担心自己坚持不下去的。但是能看到自己的阅读量和点赞量一点一点在提高,哪怕自己不想学了,这不也还有其他朋友想看吗。在坚持坚持哈哈哈
加油奥!
老规矩,有任何问题留言评论!