为什么我输入‘小布丁’,会显示‘查找的数据不存在’?
我看了小甲鱼练习题的答案,他是加了一个变量isfind=Falsename=input('请输入待查找的用户名:')
score=[['迷途',85],['黑夜',80],['小布丁',65],['福禄娃娃',95],['怡静',]]
for each in score:
if name in each:
print(name+'的得分是:',each)
break
else:
print('查找的数据不存在')
break 因为你遍历第一个 就被else 的 break 退出循环了不在遍历查找后面的
改成这样~
name=input('请输入待查找的用户名:')
score=[['迷途',85],['黑夜',80],['小布丁',65],['福禄娃娃',95],['怡静',]]
for each in score:
if name in each:
print(name+'的得分是:',each)
break
else:
print('查找的数据不存在') 你 for 循环第一个不是小布丁所以不执行 if 代码块,而执行else 代码块else 里面有break终止并退出了循环~ 改成这样,你去试试就明白了2者的区别了
for each in score:
if name in each:
print(name+'的得分是:',each)
break
else:#此处else需要与for同一级别
print('查找的数据不存在') Twilight6 发表于 2020-5-27 15:11
因为你遍历第一个 就被else 的 break 退出循环了不在遍历查找后面的
改成这样~
原来是这样,但我原来也是按你这个写法,但会输出答案的同时,还会输出’查找的数据不存在‘ 小小小菜菜菜 发表于 2020-5-27 15:18
改成这样,你去试试就明白了2者的区别了
for each in score:
if name in each:
这个写法,输出答案的时候,还会输出’查找的数据不存在‘欸 小鱼想学游泳 发表于 2020-5-27 15:31
原来是这样,但我原来也是按你这个写法,但会输出答案的同时,还会输出’查找的数据不存在‘
啊,是吗?
你把你代码发出来 小小小菜菜菜 发表于 2020-5-27 15:18
改成这样,你去试试就明白了2者的区别了
for each in score:
if name in each:
你代码 print 后面忘记缩进了 小鱼想学游泳 发表于 2020-5-27 15:31
原来是这样,但我原来也是按你这个写法,但会输出答案的同时,还会输出’查找的数据不存在‘
不会的你是看错代码了~ Twilight6 发表于 2020-5-27 16:11
不会的你是看错代码了~
真的我看错了!!可了可了~ 小鱼想学游泳 发表于 2020-5-27 16:44
真的我看错了!!可了可了~
{:10_297:}
https://xxx.ilovefishc.com/forum/202005/27/132745rjvcvw1z2148jthd.gif
页:
[1]