文件和例外

时间:2015-03-24 01:12:22

标签: python exception-handling

所以在python类中我们会查看文件和异常,但是教授没有彻底解释它因此为什么我会失去他希望我做的究竟是什么,我将不胜感激任何帮助请。我明白他希望我们复制表2的例子,但不太确定。这是问题所在。

文件ALW.txt包含表1中所示的信息。编写程序以使用该文件生成包含表2中信息的文本文件,其中棒球队列出WL百分比,以及总百分比


 Table 1:
ALW,W,L,W-L%
----------------
Oakland Athletics,96,66
----------------------
Texas Rangers,91,72
-------------------
Los Angeles,78,84
-------------------
Seattle Mariners,71,91
-----------------------
Houston Astros,51,111
---------------------------

表2:

-----
**Team.........................................W L W-L%**
-----
Oakland Athletics....................96           66       0.593
--------
Texas Rangers.........................91           72       0.558
------
Los Angeles.............................78           84       0.481
--------
Seattle Mariners.......................71           91       0.438
--------
Houston Astros.......................51          111       0.315
--------
Total:........................................387          423       0.484 

所以我想出了这段代码,但我不认为我做得对。

fob= open("C:/Users/Manny/Documents/Chapter 5 Assignments/ALW.txt","r")
fob.readline()
print ("Total number of teams: 5 ")
print ("Teams")

Oakland_Athletics_win = 96
Texas_Rangers_win = 91
Los_Angeles_win = 78
Seattle_Mariners_win = 71
Houston_Astros_win = 51
Oakland_Athletics_lose = 66
Texas_Rangers_lose = 72
Los_Angeles_lose = 84
Seattle_Mariners_lose = 91
Houston_Astros_lose = 111
total_win = Oakland_Athletics_win + Texas_Rangers_win + Los_Angeles_win + Seattle_Mariners_win + Houston_Astros_win
total_lose = Oakland_Athletics_lose + Texas_Rangers_lose + Los_Angeles_lose + Seattle_Mariners_lose + Houston_Astros_lose
win_lose_ratio = (Oakland_Athletics_lose + Oakland_Athletics_win)
win_lose_ratio2 = Oakland_Athletics_win / win_lose_ratio
total_ratio = total_win + total_lose
total_ratio2 = total_win / total_ratio

for line in fob:
    x = line.split(",")
    x2 = win_lose_ratio2
    print ('\t','\t','\t','\t',"Wins",'\t',"Losses",'\t','\t',"Win-Lose%")
    print (x[0],'\t',x[1],'\t',x[2],'\t','\t',(x2)) 
print ("Total: ",'\t','\t',total_win,'\t',total_lose,'\t',total_ratio2)

2 个答案:

答案 0 :(得分:0)

他基本上希望您转换统计信息从一个文件中显示的方式,并将其复制到另一个不同格式的文件中。

我建议您先逐行读取第一个文件,然后用逗号分隔该行。然后可以格式化返回数组的每个索引处的元素,并以他想要的格式将其写入out文件。

答案 1 :(得分:0)

您的老师希望您解析文件并产生与表2相似的结果。

您需要:

  • 打开文件

  • 浏览每一行,直到找到第一个团队

  • 将该行中逗号分隔的字符串添加到列表

  • 计算百分比

  • 一直持续到最后

  • 将所有内容写入新文件

这是一个很好的练习,Python非常适合这样做