当前位置:   article > 正文

python练习题:程序员问卷调查_题目文件中保存来自约60000条程序员的问卷调查记录(部分数据),数据来源:2020 stac

题目文件中保存来自约60000条程序员的问卷调查记录(部分数据),数据来源:2020 stac

任务描述

题目文件中保存来自约60000条程序员的问卷调查记录(部分数据),数据来源:2020 Stack Overflow Developer Survey‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

调查问题为:

 

文件中数据格式为: 每行数据分为两部分,调查编号和工作描述 题目提供一个fopen函数打开该文件,将数据存入列表并返回。

  1. #不允许修改。fopen函数打开文件,并返回包含文件数据一个列表ls,
  2. def fopen(name):
  3. ls=[]
  4. with open(name,'r',encoding = 'UTF-8') as f:
  5. for i in f.readlines()[1:]:
  6. ls.append(i.strip().split(','))
  7. return ls
  8. def fun(t): #自定义函数完成相关功能,函数名或形参或函数数量可自行修改
  9. ... ...
  10. ... ...
  11. def ...
  12. lt = fopen('survey.csv') #不允许修改,打开题目文件,并将返回的数据列表赋值给lt

返回列表形式为: [['1', 'I am a developer by profession'], ['2', 'I am a developer by profession'], ['3', 'I code primarily as a hobby'], ['4', 'I am a developer by profession'], ['5', '"I used to be a developer by profession', ' but no longer am"'], ... ...] 请输入下列分类,统计问卷数据中下列各项分类的记录条数:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

分类 回答 程序员 ‘I am a developer by profession’ 程序爱好者 ‘I code primarily as a hobby’ 程序初学者 ‘I am a student who is learning to code’ 编程相关者 ‘"I am not primarily a developer, but I write code sometimes as part of my work"’ 非程序员 ‘"I used to be a developer by profession, but no longer am"’ 空白 ‘NA’ 如果输入为'记录',输出所有记录条数‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

如果不是以上的输入,则输出‘错误输入’

输入输出示例‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

输入输出示例仅为格式示例,与实际测试数据无关

输入输出
示例 1成员错误输入
示例 2程序爱好者程序爱好者:23457条
示例 3记录总计:66887条
示例 4空白空白:4567条
  1. #不允许修改。fopen函数打开文件,并返回包含文件数据一个列表ls,
  2. def fopen(name):
  3. ls=[]
  4. with open(name,'r',encoding = 'UTF-8') as f:
  5. for i in f.readlines()[1:]:
  6. ls.append(i.strip().split(','))
  7. return ls
  8. lt = fopen('survey.csv') #不允许修改,打开题目文件,并将返回的数据列表赋值给lt
  9. def fun(ls):
  10. person_no_hair=0
  11. like_no_hair=0
  12. new_no_hair=0
  13. rele_no_hair=0
  14. no_no_hair=0
  15. kong=0
  16. for i in ls:
  17. if i[1]=='I am a developer by profession':#程序员
  18. person_no_hair+=1
  19. elif i[1]=='I code primarily as a hobby':#程序爱好者
  20. like_no_hair+=1
  21. elif i[1]=='I am a student who is learning to code':#程序初学者
  22. new_no_hair+=1
  23. elif i[1]=='"I am not primarily a developer':#编程相关者
  24. rele_no_hair+=1
  25. elif i[1]=='"I used to be a developer by profession':#非程序员
  26. no_no_hair+=1
  27. elif i[1]=='NA':
  28. kong+=1
  29. return [person_no_hair, like_no_hair, new_no_hair, rele_no_hair, no_no_hair,kong]
  30. s=input()
  31. l=fun(lt)
  32. if(s=='程序员'):
  33. print(f"程序员:{l[0]}条")
  34. elif(s=='程序爱好者'):
  35. print(f"程序爱好者:{l[1]}条")
  36. elif(s=='程序初学者'):
  37. print(f"程序初学者:{l[2]}条")
  38. elif(s=='编程相关者'):
  39. print(f"编程相关者:{l[3]}条")
  40. elif(s=='非程序员'):
  41. print(f"非程序员:{l[4]}条")
  42. elif(s=='空白'):
  43. print(f"空白:{l[5]}条")
  44. elif(s=='记录'):
  45. print(f"总计:{sum(l)}条")
  46. else:
  47. print("错误输入")

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/606018
推荐阅读
相关标签
  

闽ICP备14008679号