回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我有一个包含以下内容的文本文件:
(标题为:学号、姓名、年龄、最喜欢的科目)</p>
<pre><code>1234,Luke,15,History,
1256,Hannah,17,Maths,
1278,Katherine,14,Geography,
1290,Rachael,12,French,
3412,James,16,Computer Science,
</code></pre>
<p>我要做的是将此文件的内容输出给用户,如下所示:</p>
<pre><code>Student ID Name Age Favourite Subject
1234 Luke 15 History
1256 Hannah 17 Maths
1278 Katherine 14 Geography
1290 Rachael 12 French
3412 James 16 Computer Science
</code></pre>
<p>我当前的代码,如下所示,运行得很好(至少在我看来是这样),但我猜有更好的方法可以更有效地完成它吗?我觉得我可能会把它变得比必要的更尴尬,加上列表等等</p>
<pre><code>def formatOutput():
headings = ["Student ID", "Name", "Age", "Favourite Subject"]
formatID = []
formatName = []
formatAge = []
formatFavSub = []
with open("Students.txt","r") as file:
for line in file:
info = line.split(",")
formatID.append(info[0])
formatName.append(info[1])
formatAge.append(info[2])
formatFavSub.append(info[3])
formatOutput = [headings] + list(zip(formatID, formatName, formatAge, formatFavSub))
for i in formatOutput:
print("{:<10}\t{:<9}\t{:<3}\t{:<17}".format(*i))
formatOutput()
</code></pre>
<p>谢谢你的帮助。谢谢!你知道吗</p>