【问题标题】:Assigning a file to a list将文件分配给列表
【发布时间】:2020-12-06 01:06:15
【问题描述】:

我有一个程序,一旦用户指定文件名,我必须在其中存储文件(包括在下面)。然后我必须将文件的内容组织成一个列表,并筛选某些关键字和计算的“调查响应”。 以下是问题:Survey Questions

以下是回复: 0|否|天体物理学家|是 断断续续 > 1 个月|没有|物理学教授|没有 12|是|职业足球运动员|不 3|是|在软件公司工作|对 0|没有|呃?|没有 零|否|是编码员|是 6 个月以前|是|企业家|是的 没有|没有|设计师| 1|没有|我不知道|是的 0|没有|大公司的电气工程师|不 3|否|微软计算机工程师/科学家|不确定 可能需要几天|不|gooyie/microsoft/一些银行|是的!

我必须为以下每个选择创建函数,但我不确定如何通过存储文件来启动程序。是否制作字典、带有每个单独响应的子列表列表或其他方法。我在此处附上了上下文提示:User choices

我需要帮助来创建一个主函数来启动程序,该函数将提示用户输入文件名,该文件名始终为“studentResponses2018f.txt”,然后,如果用户指定了该文件,我将存储所有内容文件到“mainList”。我已经附上了我当前的代码作为图片和实际代码,我不知道如何正确地做到这一点。任何帮助表示赞赏。 当前代码:currentCode

    def main:
      mainList=[input("what is the file name?")]
          if "studentResponses2018f.txt" in mainList
              mainList=[[0|no|astrophysicist|yes],[Off and on > 1 month|no|professor of physics|no],[12|yes|professional soccer player| nope],[3|yes|working at a software company|    yup], #etc with all the file inputs

【问题讨论】:

  • 奇怪的行为:您的文件必须命名为“studentsResponses2018f.txt”,并提示用户输入名称,但如果名称不是那个?节目结束?
  • 每年进行调查时都有其他文件可用,因此如果需要,我可以在条件句中包含其他文件名,并手动将他们的回复输入到如果用户选择不同文件年份的条件句中.但是我选择不包括在内,因为我正在完成基本计划。

标签: python list computer-science custom-function


【解决方案1】:

在程序中对数据进行硬编码并不是一个好主意。在某处写下自己的“studentResponses2018f.txt”和其他文件,如下所示:

studentResponses2018f.txt:

0|no|astrophysicist| yes Off and on
> 1 month|no|professor of physics|no
12|yes|professional soccer player| nope
3|yes|working at a software company| yup
0|no|uhhh?|no
zero|no|being a coder|yes
6 months a Long time ago|yes|entrepreneur| yes
none|nope|designer|
1|no|I don't know| yes
0|no|electrical engineer for a big company| no
3|no|computer engineer / scientist at microsoft| unsure
probably a few days|no|gooyie/microsoft/some bank|yes!

然后在你的程序中读取文件:

nameList = input("What is the filename?")
mainList = []
with open(nameList) as fn:
    mainList = fn.readlines()

当然你必须实现一种方法来避免当用户输入错误的文件名时程序崩溃。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-03-03
    • 2019-05-09
    • 2020-11-25
    • 1970-01-01
    • 2015-06-23
    • 1970-01-01
    • 2018-03-19
    相关资源
    最近更新 更多