小明同学xxm 发表于 2020-7-4 09:44:41

python习题016求助


https://xxx.ilovefishc.com/forum/201312/14/212245ym3vtjyv1m10njmg.png
如图 需要补充遮挡的代码
答案代码是
name = input('请输入待查找的用户名:')
score = [['迷途', 85], ['黑夜', 80], ['小布丁', 65], ['福禄娃娃', 95], ['怡静', 90]]
IsFind = False
for each in score:
    if name in each:
      print(name + '的得分是:', each)
      IsFind = True
      break
   
if IsFind == False:
    print('查找的数据不存在!')

但是这个each指的是什么呢

>>> score=[['迷途',85],['黑夜',80],['小布丁',65]]
>>> for each in score:
print(each)

['迷途', 85]
['黑夜', 80]
['小布丁', 65]
>>> each
65
>>> print(each)
65
>>> each
['小布丁', 65]

刚开始print(each)是
['迷途', 85]
['黑夜', 80]
['小布丁', 65]
但是接下来each就是['小布丁', 65]
这是怎么回事啊??向大佬求助

qiuyouzhi 发表于 2020-7-4 09:46:52

each代表分数呀,score里的元素全是列表,那么遍历score,遍历到的东西(each)一定是列表。
刚开始print(each)是
['迷途', 85]
['黑夜', 80]
['小布丁', 65]
但是接下来each就是['小布丁', 65]
这是怎么回事啊??向大佬求助
没听懂

Twilight6 发表于 2020-7-4 09:49:30




emmm,每次看到这个圈....都想吐槽下哈哈~~{:10_245:}

但是这个each指的是什么呢?

索引操作呀,就代表取出each 里面的 第2个元素,因为 0 算第一个元素的位置参数

for 循环 score 里面的列表,并赋值给 each ,each 就是 score 里面的小列表呗,然后你通过索引来取出列表中的元素

>>> score=[['迷途',85],['黑夜',80],['小布丁',65]]
>>> for each in score:
print(each)

['迷途', 85]
['黑夜', 80]
['小布丁', 65]
>>> each
65
>>> print(each)
65
>>> each
['小布丁', 65]

for 循环结束后 each 的值会停留在 你最后一次 for 循环给 each 的值,这里的 for 循环最后一个列表就是红色部分

所以后来打印的都是 ['小布丁', 65]~~



小甲鱼的铁粉 发表于 2020-7-4 10:14:26

{:10_257:}

heidern0612 发表于 2020-7-4 10:26:21

当年老师还是挺污的。 {:9_223:}


因为print包含在for循环的内部,每for循环一次,就print一次,直到for循环结束。

for循环里each指的是score里的每个元素,单个元素就是一个列表,所以socre是一个二维列表。

页: [1]
查看完整版本: python习题016求助