23.8, 35.6 ,44.,99,60.1 ,77 ,68 ,88.88, 90, 97,
99.9, 89.6 ,91.11, 95, 90, 100, 85 ,90.55, 60.1,
77.8, 68, 88.88, 90, 94.9,
希望你来对数据进行排序(保留一位小数),
然后再将结果写入一个txt文件(例如文件名为:winner.txt)。
原数据:
['23.8', ' 35.6 ', '44.', '99', '60.1 ', '77 ', '68 ', '88.88', ' 90', ' 97', '\n99.9', ' 89.6 ', '91.11', ' 95', ' 90', ' 100', ' 85 ', '90.55', ' 60.1', '\n77.8', ' 68', ' 88.88', ' 90', ' 94.9', '']
排序数据:
[23.8, 35.6, 44.0, 60.1, 60.1, 68.0, 68.0, 77.0, 77.8, 85.0, 88.88, 88.88, 89.6, 90.0, 90.0, 90.0, 90.55, 91.11, 94.9, 95.0, 97.0, 99.0, 99.9, 100.0]
写入文件的数据:
['23.8,35.6,44.0,60.1,60.1,68.0,68.0,77.0,77.8,85.0,88.88,88.88,89.6,90.0,90.0,90.0,90.55,91.11,94.9,95.0,97.0,99.0,99.9,100.0,']
'''
with open('source1.txt') as ff:
res = map(lambda x: x.strip(), ff.read().replace("\n", '').split(','))
res = list(res)
print('原数据')
print(res)
print('排序数据')
result = sorted(map(lambda x: round(float(x), 1), res))
print(result)
with open( 'winner.txt', 'w') as ff:
print("写入文件的数据")
s = ','.join(map(lambda x: f'{x:.1f}', result))
print([s])
ff.write(s)
--result
原数据
['23.8', '35.6', '44.', '99', '60.1', '77', '68', '88.88', '90', '97', '99.9', '89.6', '91.11', '95', '90', '100', '85', '90.55', '60.1', '77.8', '68', '88.88', '90', '94.9']
排序数据
[23.8, 35.6, 44.0, 60.1, 60.1, 68.0, 68.0, 77.0, 77.8, 85.0, 88.9, 88.9, 89.6, 90.0, 90.0, 90.0, 90.5, 91.1, 94.9, 95.0, 97.0, 99.0, 99.9, 100.0]
写入文件的数据
['23.8,35.6,44.0,60.1,60.1,68.0,68.0,77.0,77.8,85.0,88.9,88.9,89.6,90.0,90.0,90.0,90.5,91.1,94.9,95.0,97.0,99.0,99.9,100.0']
# 读取文件内容
with open("source1.txt", "r") as f:
data = f.read()
# 将文件内容拆分成数字
data = data.split(",")
# 去除字符串前后的空白字符并转换为浮点数
data = [float(x.strip()) for x in data]
# 对数字进行排序
data = sorted(data)
# 保留一位小数
data = [round(x, 1) for x in data]
# 将排序后的数字转换为字符串
data = [str(x) for x in data]
# 将字符串拼接成一行
data = ",".join(data)
# 写入文件
with open("winner.txt", "w") as f:
f.write(data)
望采纳
import os
file_path = "Annotations"
# os.listdir(file)会历遍文件夹内的文件并返回一个列表
path_list = os.listdir(file_path)
# print(path_list)
# 定义一个空列表,我不需要path_list中的后缀名
path_name=[]
# 利用循环历遍path_list列表并且利用split去掉后缀名
for i in path_list:
path_name.append(i.split(".")[0])
# 排序一下
path_name.sort()
for file_name in path_name:
# "a"表示以不覆盖的形式写入到文件中,当前文件夹如果没有"save.txt"会自动创建
with open("save.txt","a") as f:
f.write(file_name + "\n")
# print(file_name)
f.close()
with open('source.txt','r+') as f:
string = f.read() #读取文件内容
data_list = string.split(",") #用逗号将字符串分隔为列表,也就是元数据
#打印元数据列表
print("元数据:")
print(data_list)
#去掉换行符
for i in range(len(data_list)):
data_list[i] = data_list[i].replace("\n","")
data_list.remove('') #去掉空字符
#将列表中的字符转换成数字
for i in range(len(data_list)):
data_list[i] = float(data_list[i])
data_list.sort() #对列表进行排序
print("排序数据:")
print(data_list)
#将排序好的数字列表转换成字符列表
#将列表中的字符转换成数字
for i in range(len(data_list)):
data_list[i] = str(data_list[i])
#将列表拼接为字符
string = ",".join(data_list)
print("写入文件的数据:")
print([string])
with open('winner.txt','w') as f1:
f.write(string)