ZoeLee 发表于 2017-2-27 22:56:43

第16讲课后习题

name = input('请输入待查找的用户名:')
score = [['迷途', 85], ['黑夜', 80], ['小布丁', 65], ['福禄娃娃', 95], ['怡静', 90]]

for each in score:
    if name in each:
      print(name + '的得分是:', each)
        break

    else :
      print('查找的数据不存在!')
        break
这样也是可以得吧

Wgq 发表于 2017-2-27 23:08:59

不对吧,else的位置

ap815 发表于 2017-2-28 09:47:02

运行一下不就知道了么,换几个参数试试,没问题就对了。

lubcat 发表于 2017-2-28 13:40:08

没问题。

ZoeLee 发表于 2017-2-28 19:36:12

Wgq 发表于 2017-2-27 23:08
不对吧,else的位置

位置没毛病吧

xuanmao 发表于 2017-3-1 09:01:37

查找的数据不存在,也就是要把score里的每个(列表)元素里的第一个元素遍历一遍才有结果。 else的位置需要在for循环结束。楼主的else只是单次循环找不到就打印找不到。

xxpythonxx 发表于 2017-3-1 14:59:41

支持6楼

太阳花田 发表于 2017-4-18 16:34:33

就像6楼说的,去掉else前面设个flag= 0,当找到了改为1在for外面用if判断一下就行了

mei##@too 发表于 2017-5-19 18:43:37

这个中条件会执行4次,是不可取的
最好是用 if条件
页: [1]
查看完整版本: 第16讲课后习题