python嵌套中会遇到的问题

2020-11-11  本文已影响0人  独孤蝴蝶

例子:

def main():

    names = ['关羽', '张飞', '赵云', '马超', '黄忠']

    subjs = ['语文', '数学', '英语']

    scores = [[0] * 3] * 5

    for row, name in enumerate(names):

        print('请输入%s的成绩' % name)

        for col, subj in enumerate(subjs):

            scores[row][col] = float(input(subj + ': '))

    print(scores)

if __name__ == '__main__':

    main()

图1

修改后:

def main():

names = ['关羽', '张飞', '赵云', '马超', '黄忠']

subjs = ['语文', '数学', '英语']

scores = [[]] *5

    for row, namein enumerate(names):

print('请输入%s的成绩' % name)

scores[row] = [0] *3

        for col, subjin enumerate(subjs):

scores[row][col] =float(input(subj +': '))

print(scores)

if __name__ =='__main__':

main()

图2

上面的两个图来源于http://www.pythontutor.com/visualize.html#mode=edit,可视化执行功能

看图1我们可以猜出运行的结果,返回的都是最后输入的一组数据

上一篇下一篇

猜你喜欢

热点阅读