2016-11-19 76 views
0

对于我在计算机课程中的评估,我完成了前两项任务,但需要帮助了解第三个人的要求。它指出:“开发一个程序,建立在任务2的技术基础上,用包括标点符号在内的多个句子压缩文本文件。程序应该能够将文件压缩成单词列表和位置列表以重新创建原始文件。它还应该能够获取压缩文件并重新创建原始文件的全文,包括标点符号和大写字母“。需要帮助了解我的计算CA A453任务?

一些这我理解,但我真的不明白它究竟要我做什么。也因为它说,我必须建立从任务二所以任务二说明和解决方案的技术是以下(解决方案还没有完成,因为我没有访问我完成了一个)

“制定程序标识句子中的单个单词,将它们存储在列表中,并将原始句子中的每个单词替换为该单词在列表中的位置。 例如,该句子询问您的国家/地区可以为您提供什么DO为你的国家 包含文字ASK,没有,什么,你的,国家,CAN,DO,FOR,你 句子可以从这些话在此列表中使用序列 1,2,3的位置重建, 4,5,6,7,8,9,1,3,9,6,7,8,4,5 保存单词列表和t的位置这些单词在句子中是单独的文件或单个文件。“

而对于任务2的代码:

restart = 'y' 
while (True): 
    sentence = input("What is your sentence?: ") 
    sentence_split = sentence.split() 
    sentence2 = [0] 
    print(sentence) 
    for count, i in enumerate(sentence_split): 
     if sentence_split.count(i) < 2: 
      sentence2.append(max(sentence2) + 1) 
     else: 
      sentence2.append(sentence_split.index(i) +1) 
    sentence2.remove(0) 
    print(sentence2) 
    restart = input("would you like restart the programme y/n?").lower() 
    if (restart == "n"): 
      print ("programme terminated") 
      break 
    elif (restart == "y"): 
     pass 
    else: 
     print ("Please enter y or n") 

回答

0

至于你的第二个任务显示解决方案,你已经被压缩的句子在任务中描述的技术。

您现在应该提供一个程序,它有两个功能。

  1. 读取一个文件,并使用你的技术创建的所有包含单词的列表和所有这个字的序列,写入文件(或标准输出)这个
  2. 读通过的第一个函数创建的输出以前生成该文件。

你的程序可能有这个命令行界面 - 也许这会让你的任务更清晰。

python task3.py compress /path/to/inputtext.txt /path/to/outputfile

python task3.py extract /path/to/outputfile /path/to/inputtext.txt

这是压缩的文本文件非常简单的方法。最重要的是你需要处理pythons文件API。不错的任务!

+0

谢谢,这是相当有用的,但我已经完成了你的答案的第一部分,我必须读取和写入文件,但它不在代码中,因为我无法访问它。我不知道的部分是读取输出文件。我还没有知道哪里可以启动 –

+0

您可能会开始考虑如何序列化和反序列化您的数据。 JSON可能是一个选项 - 在python中也有[pickle](https://docs.python.org/3/library/pickle.html) – dahrens

0

我做同样的工作,你对我的GCSE和我很困惑,以及。

然而,任务3要求你改变你的代码,这样当你分割你的一句话,是应区分大小写现在。例如hello和Hello必须被视为独立的实体。所以它们在再生时必须有不同的数字。

此外,您的代码必须兼容多个句子,而不仅仅是一个句子。 最后,您还必须将标点符号分成单独的实体。

使用正则表达式去除标点符号。 删除.lower()使您的句子区分大小写。 允许代码采取“。”标记为实体。

希望有所帮助。