-3

这就是我所拥有的。

"""

Author: Michael Wellman (wellmanm)
Title: pa10.py
Description: Deciphering a document using pennymath.

"""

def decode(inputfile,outputfile):
    **inputfile = open("superDuperTopSecretStudyGuide.txt","rU").read()
    outputfile = open("translatedguide.txt","w")**
    count = 0
    aList = []
    for words in inputfile:
        aList.append(words)
        charCount = len(aList)
        **outpufile.write(aList)**
        while count<charCount:
            print aList[count],
            if (aList[count].isalpha()):            
               if (ord(aList[count])>90):           
                   count = count + ord(aList[count])-95     
               else:                                
                   count = count + ord(aList[count])-63     
            else:
                if (aList[count].isdigit()):       
                   count = count + ord(aList[count])-46             
                else:
                   count = count + 6                        
    **inputfile.close()
    outputfile.close()**

txt 文件来自我的教授:P

我相信,加粗的部分是最重要的。

有什么想法吗?

4

1 回答 1

2

您是否尝试过运行代码?

我想如果你愿意,你会收到一条关于这条线的错误消息

outpufile.write(aList)

看,file.write()方法的文档字符串清楚地指出:

写(str)-> 无。将字符串 str 写入文件。

请注意,由于缓冲,在磁盘上的文件反映写入的数据之前,可能需要使用 flush() 或 close()。

您提供的是 alist而不是 a str。尝试将其更改为

outpufile.write(''.join(aList))

或者

outputfile.write(aList[-1])

或任何适合您的需求。此外,您永远不会清除列表,因此,当您迭代时inputfile,您将编写第一个字符,然后是第一个字符和第二个字符,然后是前三个字符,等等。这是故意的吗?

最后,您试图关闭inputfile它实际上是 a str,而不是文件,因为file.read()方法返回 a str

PS请不要调用你的变量inputfile,如果它是一个字符串,words如果它是一个字符。那永远不会帮助任何人。

于 2012-04-25T21:53:17.227 回答