str(i + 1) + "." + str(fi.split(".")[-1])
时间: 2024-05-26 10:13:11 浏览: 22
这段代码中,"i"和"fi"是变量,假设"i"的值为1,"fi"的值为"example.txt",那么这段代码的作用是将"1"和"txt"拼接成一个字符串。具体来说,"str(i)"将整数1转换成字符串"1","."是字符串连接符,"fi.split('.')[-1]"将字符串"example.txt"按照"."进行分割,得到一个列表["example", "txt"],然后"[-1]"表示取列表的最后一个元素,即"txt"。最后,两个字符串"1"和"txt"通过"."连接起来,得到字符串"1.txt"。
相关问题
filename = str(fi.split(".")[-1])
这行代码是将一个文件名字符串中的后缀名提取出来。
具体来说,`fi.split(".")` 会将文件名字符串以 "." 为分隔符,拆分成一个字符串列表。列表中最后一个元素就是文件的后缀名,因此使用 `[-1]` 索引可以得到后缀名字符串。
最后,将后缀名字符串转换为 `str` 类型并赋值给 `filename` 变量。
scoreslist = [] with open("scores.txt","r",encoding = "utf-8") as fi: #以中文编码方式打开文本文件 for line in fi: scoreslist.append(_______) #1读入文件中每行数据,构造二维列表 no = ________ #2科目数 num = ________ #3专业数 for i in range(0,num+1): print("{0:>20}".format(str(scoreslist[i]))) #输出二维列表中所有元素 ___________ #4换行 for i in range(1,num+1): scoreslist[i].append(max(map(int,scoreslist[i][1:]))) #计算最高分 scoreslist[i].append(min(map(int,scoreslist[i][1:]))) #计算最低分 for i in range(__________): #5遍历专业 for j in range(__________): #6遍历科目 if int(scoreslist[i][j]) == scoreslist[i][-2]: scoreslist[i][-2] =(scoreslist[0][j],scoreslist[i][-2]) #找最高分科目和分数 if int(scoreslist[i][j]) == scoreslist[i][-1]: scoreslist[i][-1] =(scoreslist[0][j],scoreslist[i][-1]) #找最低分科目和分数 print("专业:{0:<10}\t最高分{1:>}\t最低分{2:>}".format(_________________,str(scoreslist[i][-2]),str(scoreslist[i][-1]))) #7格式化输出结果
好的,让我来填空:
```
scoreslist = []
with open("scores.txt","r",encoding = "utf-8") as fi: #以中文编码方式打开文本文件
for line in fi:
scoreslist.append(line.strip().split()) #1读入文件中每行数据,构造二维列表
no = len(scoreslist[0]) - 1 #2科目数
num = len(scoreslist) - 1 #3专业数
for i in range(0,num+1):
print("{0:>20}".format(str(scoreslist[i]))) #输出二维列表中所有元素
print() #4换行
for i in range(1,num+1):
scoreslist[i].append(max(map(int,scoreslist[i][1:]))) #计算最高分
scoreslist[i].append(min(map(int,scoreslist[i][1:]))) #计算最低分
for i in range(1,num+1): #5遍历专业
for j in range(1,no): #6遍历科目
if int(scoreslist[i][j]) == scoreslist[i][-2]:
scoreslist[i][-2] =(scoreslist[0][j],scoreslist[i][-2]) #找最高分科目和分数
if int(scoreslist[i][j]) == scoreslist[i][-1]:
scoreslist[i][-1] =(scoreslist[0][j],scoreslist[i][-1]) #找最低分科目和分数
print("专业:{0:<10}\t最高分{1:>}\t最低分{2:>}".format(str(scoreslist[i][0]),str(scoreslist[i][-2]),str(scoreslist[i][-1]))) #7格式化输出结果
```
解释如下:
1. 读取文件中的每一行数据,去掉末尾的换行符并将其按空格分割成一个列表,然后追加到二维列表scoreslist中。
2. 科目数等于第一行数据中的元素个数减一。
3. 专业数等于文件中数据的行数减一。
4. 换行符。
5. 遍历专业,从第二行开始。
6. 遍历科目,从第二列开始。
7. 格式化输出专业、最高分和最低分。