list-循环小练习(作业已交未交)

报错

list index out of range : 超出下标   这个错误是因为在写stus列表的时候写成了如下stus=['小花,未交'] ,但是取下标的时候取的是stus[1];实际该列表中只有1个下标为0

invalid character in identifier:“标识符中的无效字符” 此错误是因为逗号写用成了中文

最后print打印的时候不要放在循环里面,放在循环里面会把循环的每次结果都打印一遍,而不仅仅是打印最终版的结果

占位符格式不要写错了;print('未交人员有%s,共有%s人员未交作业' % (fail_list, len(fail_list)))

for index,value in enumerate([['小花,已交'],['小明,未交']]):  #循环查看下标和值
print(index,value)

 

 

#将stus里面未交和已交的区分出来统计各有多少

stus=[
['小花','未交'],
['小明','已交'],
['小楠','未交'],
['小李','未交'],
['小王','未交'],
['于萍','已交'],
['李利','未交'],
]
pass_list = [ ] #所有已经交作业的同学
fail_list = [ ] #没有交作业同学的名字

for stu in stus:
status = stu[1] # 状态
name = stu[0] # 名字
if status=='未交':
fail_list.append(name)
else:
pass_list.append(name)

print('已交人员有%s,共有%s人员已交作业' % (pass_list, len(pass_list)))
print('未交人员有%s,共有%s人员未交作业' % (fail_list, len(fail_list)))

 

posted @ 2018-12-06 11:40  小蕊-zr  阅读(179)  评论(0编辑  收藏  举报