当前位置:首页>python>Python 编程实战 100 例(1、2)

Python 编程实战 100 例(1、2)

  • 2026-10-21 13:30:49
Python 编程实战 100 例(1、2)

前言:之所以想系统地学习这部分内容,主要是考虑到后续工作中很可能会用到。凡是能够切实提高工作效率的工具和方法,我都认为值得主动去学习、去积累。基于这样的考虑,我在网上购买了《Python 编程实战 100 例》这本书,编著者是张晓老师。这里并非带货或推荐,仅仅是出于后续复现书中代码、记录学习过程的需要,理所当然地将书名写出来,方便说明学习脉络。若有志同道合的朋友,也非常欢迎一起交流、共同学习。

我个人一直觉得,无论是养成一个习惯,还是系统地学习一项技能,只要能够坚持一到两年,回过头来看,往往都会收获超出预期的成长。很多时候并不是方向不对,而是自己放弃得太早。坦白说,我并不是那种能在关键时刻迅速“冲一把”的人,也谈不上有什么天赋可言,因此更适合踏踏实实地走“水磨工夫”这条路,通过日积月累来弥补差距。

基于此,我计划以这本书为主线,坚持把其中的内容完整学完,并在过程中同步记录学习笔记与个人思考,既是对自己的约束,也是对学习过程的沉淀。后续更新将持续进行,也欢迎大家一起学习、监督、交流心得,与诸君共勉。


实例一、打印九九乘法口诀表

代码:

b='world'print('hello',b)x=-1.7777print(x)print('%10.3f'%x)print('%010.3f'%x)print('%-10.3f'%x)print('%+10.3f'%18.88000)a='编程是快乐的'print('(%s)的长度是:%d'%(a,len(a)))a='李明'b=18print('我是{0},我今年{1}岁了。'.format(a,b))print('不换行',end='')print('----')print('')for i in range(1,10):for j in range(1,i+1):print('{0}*{1}={2}'.format(j,i,i*j),end=' ')print()

感悟:这块主要是学习print()函数,以及格式化控制符

Print()函数本身比较简单就是打印内容,字符串类型要带单引号‘’或者双引号“”,数字,浮点数则直接打印即可

对于格式化控制符表达结构是‘格式控制符’%数字、或者“格式控制符”%数字

以上述例子说明:

'%10.3f'%x代表打印数字x,10要求为10个字符宽度,不足用空格补齐,.3要求为三位小数,超过则四舍五入,f代表最后打印输出的是浮点数;

%010.3f'%x代表打印数字x,10要求为10个字符宽度,不足用0补齐,.3要求为三位小数,超过则四舍五入,f代表最后打印输出的是浮点数;

'%-10.3f'%x代表打印数字x,10要求为10个字符宽度,不足用空格补齐,.3要求为三位小数,超过则四舍五入,f代表最后打印输出的是浮点数,多出的-号代表是左对齐,这样本质上让空格补齐失效了;

'%+10.3f'%18.88000代表打印数字18.88000,10要求为10个字符宽度,不足用空格补齐,.3要求为三位小数,超过则四舍五入,f代表最后打印输出的是浮点数,+代表意思是要带正负号,所以虽然打印18.88000,实际打印出来是+18.880。

至于下面的两个代码则一一说明:

a='编程是快乐的'print('(%s)的长度是:%d'%(a,len(a)))说明:这里%后实际上是两个内容所以用了(),

'(%s)的长度是:%d'%,满足格式要求

%s代表的是以字符串形式输出,用()的目的是为了达到(编程是快乐的)这样的显示效果

%d代表的是以数字形式输出

Len(a)本身是测量字符长度的函数,所以这里已经代表了数字6

a='李明'b=18print('我是{0},我今年{1}岁了。'.format(a,b))

说明:这里的0,1本身就是为了占位,.format()函数则是包含前面要填入的内容。

至于九九乘法表,原理是很简单的,不过也有需要注意的点:

for i in range(1,10):这里的range(1,10)代表的是从1~10,包括1,不包括10,实际循环九次,并且只能实正整数,这个range()函数的内在逻辑
print('{0}*{1}={2}'.format(j,i,i*j),end=' ')

需要理解,我们的目的应该是先计算量i*j在让这个数字进行输出,否则输出也是i*j这种形式的字符串了没有意义。

print('不换行',end='')print('----')print('')

这是常见的打印不换行的代码,记住就可以了,并且要注意在end='',单引号之间加个空格可以让不换行式子之间多个空格,print('')目的在于终止不换行代码。


实例二、实现斐波那契数列

代码:

def fan(n):if n <= 0:return '传递的n必须为大于0的正整数'elif n == 1:return[0]else:        a,b=0,1fablist=[0,1]for i in range(n-2):        a,b=b,a + b        fablist.append(b)return fablistprint(fan(11))

感悟:这个数列特征在于第一个是0,第二个是1,第三个是前两数之和,那么就要说明一个问题,要输出多少个数字。

def fan(n):目的在于定义一个函数,去判断n是不是大于0的正整数,原因在于range()函数可以在负数之间使用,要求是前者必须小于后者,本代码使用的是range(n-2),代表了起始为0,也就是n-2不能小于0,这些共同决定了代码运行时n是从3开始的

fablist.append(b)这个就是简单的给之间定义的数组尾部加元素的常见代码,记住就行。

最新文章

随机文章