文本文件lst.txt(编码格式:ANSI)内容:每一行内容分别为:商品名字、价格(元/斤)、重量(斤),以空格隔开,求出本次购物花费的中钱数。要求用字符串转列表,然后通过列表计算
时间: 2024-03-27 07:35:07 浏览: 16
好的,我理解了你的问题。下面是 Python 代码实现:
```python
# 读取文件内容
with open('lst.txt', 'r', encoding='ANSI') as f:
content = f.readlines()
# 将每行内容转为列表,然后计算花费
total_cost = 0
for line in content:
items = line.strip().split(' ')
name, price, weight = items[0], float(items[1]), float(items[2])
cost = price * weight
total_cost += cost
print('本次购物花费:%.2f 元' % total_cost)
```
这段代码将文件中的每行内容读取出来,然后通过 `strip()` 和 `split()` 方法将其转为列表,接着计算每个商品的花费并累加到总花费中,最终输出总花费。请注意,这里假设文件中每行内容的格式都是正确的,如果存在格式错误的行,代码可能会出错。
相关问题
python怎么把以上结果输入到一个文本文件num.txt中
您可以使用Python内置的文件操作函数open(),将结果写入到num.txt文件中。代码如下:
```python
lst = [51, 32, 29, 49, 11, 12, 23, 14, 19]
with open('num.txt', 'w') as f:
for num in lst:
f.write(str(num) + '\n')
```
解释一下,首先打开一个文件对象,使用`with open('num.txt', 'w') as f:`,其中'num.txt'是文件名,'w'表示以写入模式打开文件。然后使用for循环遍历排序后的列表,每次循环将一个元素写入文件中,使用f.write(str(num) + '\n'),这里将每个元素转换为字符串后再加上一个换行符,这样每个元素占据一行。最后使用with语句,自动关闭文件对象。
解释这段代码 save_lst.append("姓名:"+i.split(":")[1][2:] + "**")
这段代码的作用是在一个名为 save_lst 的列表中添加一个字符串,其中包含姓名和一些其他信息。该字符串由两部分组成,第一部分是“姓名:”后面跟着被提取出来的姓名,第二部分则是一些其他信息,由两个星号表示。具体来说,该代码利用 split 函数将字符串 i 分割成多个部分,然后从中提取出姓名。姓名之后的一些其他信息被硬编码到字符串中,最后将整个字符串添加到 save_lst 列表中。