Python 编写一个程序来读取/关闭文件,并显示以下输出
我需要编写一个Python程序来读取/关闭文件(即Stock.txt),并使用list的split方法显示以下输出。Stock.txt中只有一行是投资者的股票投资组合,由四只股票的投资金额组成 文件Stock.txt的内部内容:Python 编写一个程序来读取/关闭文件,并显示以下输出,python,python-3.x,list,Python,Python 3.x,List,我需要编写一个Python程序来读取/关闭文件(即Stock.txt),并使用list的split方法显示以下输出。Stock.txt中只有一行是投资者的股票投资组合,由四只股票的投资金额组成 文件Stock.txt的内部内容: hsbc, 84564.24, boc, 46392.45, manulife, 34562.98, galaxy, 89321.23 01234567890123456789012345678901234567890123456789 The amount inv
hsbc, 84564.24, boc, 46392.45, manulife, 34562.98, galaxy, 89321.23
01234567890123456789012345678901234567890123456789
The amount invested in HSBC: 844563.24
The amount invested in BOC: 465392.46
The amount invested in MANULIFE: 345612.98
The amount invested in GALAXY: 893421.23
STOCK PERCENTAGE
---------------------
HSBC 33.13%
BOC 18.26%
MANULIFE 13.56%
GALAXY 35.05%
Total Amount Invested: $2,548,989.91
我只知道如何编写相关的Python代码来打开/关闭文件。我真的不知道应该编写什么python代码来显示分配要求我执行的以下预期输出
我当前的代码:
infile = open("Stock.txt", 'c')
data = [line.rstrip() for line in infile]
infile.close()
但我不确定我当前的代码是否正确,因为我是Python初学者
此任务的预期输出:
hsbc, 84564.24, boc, 46392.45, manulife, 34562.98, galaxy, 89321.23
01234567890123456789012345678901234567890123456789
The amount invested in HSBC: 844563.24
The amount invested in BOC: 465392.46
The amount invested in MANULIFE: 345612.98
The amount invested in GALAXY: 893421.23
STOCK PERCENTAGE
---------------------
HSBC 33.13%
BOC 18.26%
MANULIFE 13.56%
GALAXY 35.05%
Total Amount Invested: $2,548,989.91
我不认为我可以为你完全解决它,但我可以让你开始
first_line = data[0] # 'hsbc, 84564.24, boc, 46392.45, manulife, 34562.98, galaxy, 89321.23'
real_data = first_line.split(', ') # ['hsbc', '84564.24', 'boc', '46392.45', 'manulife', '34562.98', 'galaxy', '89321.23']
我们的文件中有一行,因此我们使用数据[0]
获取第一行,然后使用拆分为一个列表。拆分(',')
第一行从第0行开始每隔一秒获取real_data
元素。
第一行从第一行开始每隔一秒获取real_data
。
两者都使用列表拼接语法:
列表[开始:结束:步骤]
总而言之:
infile = open("stocks.txt", 'r')
infile.close()
data = [line.rstrip() for line in infile]
first_line = data[0]
real_data = first_line.split(', ')
stock_names = real_data[::2]
stock_values = real_data[1::2]
for name, value in zip(stock_names, stock_values):
print("something")
# perform calculations
# Good luck :)
注意:我已将infle.close()
移到开头,因为文件不需要一直打开