【发布时间】:2021-01-03 03:11:34
【问题描述】:
您好,我在列表中打印数据时出现循环问题。
def inputScore(scor) :
for i in range(len(scor)) :
scor[i] = int(input("Enter Score Number : "))
def Display(scr) :
for i in scr:
if i >= 86 and i <= 100 :
x = "A"
elif i >= 70 and i < 86 :
x = "B"
elif i >= 60 and i < 70 :
x = "C"
elif i >= 50 and i < 60 :
x = "D"
elif i >= 0 and i < 50 :
x = "E"
else :
print("Invalid Score")
for i in range(0,3) : # If I remove this code "for..", it will error "IndexError: list index out of range"
print("Score Number",scr[i],"Letter Grades", x)
def main () :
scor = [int]*3
inputScore(scor)
Display(scor)
main()
例子:
# Input :
85
60
40
# Output that I want :
Score Number 85 Letter Grades A
Score Number 60 Letter Grades C
Score Number 40 Letter Grades E
# Output that I got :
Score Number 85 Letter Grades A
Score Number 60 Letter Grades A
Score Number 40 Letter Grades A
Score Number 85 Letter Grades C
Score Number 60 Letter Grades C
Score Number 40 Letter Grades C
Score Number 85 Letter Grades E
Score Number 60 Letter Grades E
Score Number 40 Letter Grades E
Letter Grades 有 3 次循环(A = 3 次,C = 3 次和 E = 3 次),我试图给 for i in range(0,3) 以停止循环但它不起作用,Letter Grades 总是打印 9 次3 A, 3 C, 3 E。如何解决并像上例那样输出?
【问题讨论】:
-
是时候尝试自己调试这个程序来学习逻辑了——pythontutor.com。
标签: python-3.x list loops