螺蛳粉真香 2021-02-11 20:13 采纳率: 66.7%
浏览 47
已采纳

求大佬解答,python刚用的list后一次输入会覆盖前一次输入的内容

amount = input('How many courses have you taken?')
amount = int(amount)
times = 1
i = 0
j = 0
list1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
list2 = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
while times <= amount:
    list1[i] = input('Enter the course code for course#' + str(times) + ':')
    print('\n')
    list2[j] = input('What was the grade?:')
    list2[j] = int(list2[j])
    print('\n')
    i += i
    j += j
    times += times
print('PRELIMINARY TRANSCRIPT')
print('\n')
a = 0
b = 1
while b <= amount:
    print(str(list1[a])+': ' + str(list2[a]))
    print('\n')
    a += a
    b += b
avg = sum(list2) / amount
print('Average Grade: ' + str(avg))

这段代码是可以print输入的课程号和成绩

比如我输入a 79分

                   b 81 分

但输出的是b 81

               b 81

a和79的数据就不知道去哪里了

  • 写回答

4条回答 默认 最新

  • include_iostream_ 2021-02-11 22:31
    关注

    你的第一个循环写的是i+=i,j+=j,而二者初值都是0,所以非常显然地,每次你输入的都是下标为0位置上的数据,i和j在第一个循环中永远都是0。我猜你想写的是i+=1,j+=1。第二个循环的a+=a,b+=b也相当令人困惑(a会永远都是0),估计是类似的情况。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?