大榴莲2333 2022-06-01 22:35 采纳率: 100%
浏览 108
已结题

文件里有词但是显示可以error是为什么呀 该怎么改正 在做Python《分配学号》😭

如图 p1p2是书上的内容

img

img


p3这个程序是参考一位博主的

img


p4已经转换成了csv格式 内容自己编的

img

img

img


是附件有问题还是程序问题
下面是按二楼的改了之后的结果

img

def readFile(filename): #读取文件返回列表
    file = open(filename,"r")
    ls = list(line.strip().split(',') for line in file)
    file.close()
    return ls
def studentID(lsStudent,lsSchool,lsMajor):#生成学生学号
    dicSchool = { x[0]:x[1] for x in lsSchool}
    dicMajor = {x[0]: x[1] for x in lsMajor} 
    detail = [] 
    for student in lsStudent: 
        id = '012' 
        id = id + student[5][2:] + dicSchool[student[2]] + dicMajor[student[3]] + student[4][-4:]
        id = id +  '{0:0>2}'.format([x[0] for x in lsStudent if student[4] == x[4]].index(student[0]) + 1) 
        detail.append([id] + student)
    return detail                                           
def info(stuName,lsStudent): #查找学生信息
    info = [info for info in lsStudent if info[1] == stuName][0]
    return info                                                  
def classmate(stuClass,lsStudent): #查找班级同学
    classmate = [info for info in lsStudent  if info[5] == stuClass]
    return classmate                                                
 
stuName = input()
stuClass = input()
studentList = 'studentList.csv' 
schoolCode = 'schoolCode.csv' 
MajorCode = 'MajorCode.csv' 
lsStudent = readFile(studentList)                            
lsSchool = readFile(schoolCode)         
lsMajor = readFile(MajorCode)    
studentDetail = studentID(lsStudent, lsSchool, lsMajor) 
print(*info(stuName,studentDetail))        
lsclassmate = classmate(stuClass,studentDetail)     
for classmate in lsclassmate:
    print(*classmate)
 

  • 写回答

2条回答 默认 最新

  • 请叫我问哥 Python领域新星创作者 2022-06-02 01:59
    关注

    看你这个报错内容好像键的前面有个空格啊,检查一下student[2]的值是否正确

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 6月13日
  • 已采纳回答 6月5日
  • 修改了问题 6月2日
  • 修改了问题 6月2日
  • 展开全部

悬赏问题

  • ¥15 乌班图ip地址配置及远程SSH
  • ¥15 怎么让点阵屏显示静态爱心,用keiluVision5写出让点阵屏显示静态爱心的代码,越快越好
  • ¥15 PSPICE制作一个加法器
  • ¥15 javaweb项目无法正常跳转
  • ¥15 VMBox虚拟机无法访问
  • ¥15 skd显示找不到头文件
  • ¥15 机器视觉中图片中长度与真实长度的关系
  • ¥15 fastreport table 怎么只让每页的最下面和最顶部有横线
  • ¥15 java 的protected权限 ,问题在注释里
  • ¥15 这个是哪里有问题啊?