python 字典练习 记录学生是否交作业的小程序
#记录学生是否交作业的小程序
#包括:学生名字、日期、状态
1 data={
2 'taotao':{
3 '2018-6-3':'已交',
4 '2018-6-4':'未交',
5 '2018-6-5':'已交'
6 }
7 'mingming':{
8 '2018-6-3':'未交',
9 '2018-6-4':'已交'
10 }
11 }
#1、判断名字和日期是否必填
#2、构造小字典{data:status}
#3、把构造好的小字典和以前那个合并到一起
1 for i in range(5):
name=input('name:').strip() #必填
date=input('date:').strip() #必填
status=input('status:').strip() #该项在输出时可不填写,如果未填,代表未交
if name and date:
status='已交' if status else '未交' #三元表达式
if name in data: #判断这个学生是否存在
date[name][date]=status #给已存在的学生添加日期和状态
#如果name在字典data中,将status赋值给对应学生
else: #学生不存在的话,我们需要给添加该学生
date[name]={date:status}
#如果name不在字典里,则将date和date的值status赋给name新建
print('添加之后的',data)
else:
print('学生名字和日期必须写!')
三元表达式
'值1' if 条件 else '值2'
判断条件满足的情况下,选择值1,不满足的情况下,选择值2
若条件为一个变量,如上述例子表示 :
status='已交' if status else '未交' #如果非空,则选择'已交',为空选择'未交'