|
|
发表于 2016-9-1 09:16:43
|
显示全部楼层
本帖最后由 hymyg 于 2016-9-1 09:29 编辑
I_find = True #将其状态设置为存在并退出循环
不是已经设置为True了嘛,后面的if I_find == False:的执行条件是False
你的代码给你重新复制了一下,加上行号:
- information = [('小甲鱼',100),('小鲤鱼',70),('小黄鱼',80),('小青鱼',60),('小黑鱼',90)] #自建的考生名字->成绩序列
- name = input('请输入需要查找的考生姓名:')
- I_find = False #默认输入的用户名不存在'考生名字->成绩序列'内
- for each_name in information:
- if name in each_name: # 成员操作运算符
- print('您查找的%s同学的成绩为%d分。'%(each_name[0],each_name[1]))
- I_find = True #将其状态设置为存在并退出循环
- break
- if I_find == False:
- print('您查找的%s同学不存在该数据库内!!!'%name)
复制代码
第9行if的执行条件是第5行的if不执行,也就是说只有第5行的if代码块中的语句不执行,才会执行第9行的if。
原因是第5行的if代码块中有一条I_find = True,这条语句改变了I_find变量的值,导致第9行的if条件不能满足
|
|