python实验九

简介: python实验九

实验要求

ca168f5f8c394da1a920d4373ae7956d.png


答案代码

filename = 'demo.py'
with open(filename,'r') as fp: 
   lines=fp.readlines()
maxlen = len(max(lines,key=len))
lines = [line.rstrip().ljust(maxlen)+'#'+str(index+1) + '\n' for index,line in enumerate(lines)]
print(lines)
with open(filename[:-3]+'_new.py','w') as fp:
  fp.writelines(lines)


记录一下这里面学到的知识点


max()

key是用来指定比较的数据,这里的key就是len函数就是将数组里最长的字符串取出来,最后取出来的是字符串,而不是字符串长度,所以这里外面还要嵌套一个len.


rstrip([chars])

清除字符串末尾的指定字符,默认为空格


ljust(len,[chars])

返回一个原字符串左对齐,并使用指定字符填充至指定长度的新字符串,默认的填充字符为空格。如果指定的长度小于原字符串的长度则返回原字符串。


ok,按这样写应该没问题了,可是当我运行代码时报错了,说是找不到demo.py,这是为什么呢?


后面发现好像是因为vscode运行python找相对路径会有点问题, 我就上网查了,有很多种办法,我这次用的其中一种办法就是


将这这段代码写在demo.py的开头就可以使用相对路径了

import os, sys
os.chdir(sys.path[0])

完整代码

import os, sys
os.chdir(sys.path[0])
filename = 'demo.py'
with open(filename,'r') as fp: 
   lines=fp.readlines()
maxlen = len(max(lines,key=len))
lines = [line.rstrip().ljust(maxlen)+'#'+str(index+1) + '\n' for index,line in enumerate(lines)]
print(lines)
with open(filename[:-3]+'_new.py','w') as fp:
  fp.writelines(lines)
import os, sys                                                                                   #1
os.chdir(sys.path[0])                                                                            #2
filename = 'demo.py'                                                                             #3
with open(filename,'r') as fp:                                                                   #4
   lines=fp.readlines()                                                                          #5
maxlen = len(max(lines,key=len))                                                                 #6
                                                                                                 #7
lines = [line.rstrip().ljust(maxlen)+'#'+str(index+1) + '\n' for index,line in enumerate(lines)] #8
print(lines)                                                                                     #9
with open(filename[:-3]+'_new.py','w') as fp:                                                    #10
  fp.writelines(lines)

   


相关文章
|
5月前
|
Python
277: 程序设计C 实验二 题目五 统计二进制数中的1的个数(python)
277: 程序设计C 实验二 题目五 统计二进制数中的1的个数(python)
|
5月前
|
Python
557: 程序设计C 实验四 题目三 字符串交叉插入(python)
557: 程序设计C 实验四 题目三 字符串交叉插入(python)
|
4月前
|
数据处理 索引 Python
【Python学习篇】Python实验小练习——文件操作(十一)
【Python学习篇】Python实验小练习——文件操作(十一)
50 1
|
4月前
|
存储 缓存 算法
【Python学习篇】Python实验小练习——循环结构(八)
【Python学习篇】Python实验小练习——循环结构(八)
28 1
|
4月前
|
存储 算法 数据安全/隐私保护
【Python学习篇】Python实验小练习——高级数据结构(五)
【Python学习篇】Python实验小练习——高级数据结构(五)
57 1
|
5月前
|
存储 数据采集 数据挖掘
Python数据分析实验一:Python数据采集与存储
Python数据分析实验一:Python数据采集与存储
170 1
|
5月前
|
存储 算法 安全
Python编程实验六:面向对象应用
Python编程实验六:面向对象应用
88 1
|
28天前
|
机器学习/深度学习 测试技术 数据处理
KAN专家混合模型在高性能时间序列预测中的应用:RMoK模型架构探析与Python代码实验
Kolmogorov-Arnold网络(KAN)作为一种多层感知器(MLP)的替代方案,为深度学习领域带来新可能。尽管初期测试显示KAN在时间序列预测中的表现不佳,近期提出的可逆KAN混合模型(RMoK)显著提升了其性能。RMoK结合了Wav-KAN、JacobiKAN和TaylorKAN等多种专家层,通过门控网络动态选择最适合的专家层,从而灵活应对各种时间序列模式。实验结果显示,RMoK在多个数据集上表现出色,尤其是在长期预测任务中。未来研究将进一步探索RMoK在不同领域的应用潜力及其与其他先进技术的结合。
68 4
|
3月前
|
机器学习/深度学习 TensorFlow API
Keras是一个高层神经网络API,由Python编写,并能够在TensorFlow、Theano或CNTK之上运行。Keras的设计初衷是支持快速实验,能够用最少的代码实现想法,并且能够方便地在CPU和GPU上运行。
Keras是一个高层神经网络API,由Python编写,并能够在TensorFlow、Theano或CNTK之上运行。Keras的设计初衷是支持快速实验,能够用最少的代码实现想法,并且能够方便地在CPU和GPU上运行。
|
4月前
|
存储 Python Windows
【Python学习篇】Python实验小练习——函数(十)
【Python学习篇】Python实验小练习——函数(十)
26 1