Python附加一个列表并停止它

时间:2017-04-06 17:38:40

标签: python list append

我必须使用append方法从用户那里获取信息,但我只想从用户那里拿10行,而不是想问他们是否有另外一组信息要输入。任何人都可以告诉我如何停止list_append而不要求用户停止它?

以下是我在python中的代码。

    #set limit
    num_grades = 10

    def main():
       #making of the list
       grades = [0] * num_grades

       #hold the index
       index = 0

       #ask the user for the info
       print('Please enter the final grades for 10 students: ')

       #put the info into the list with a loop 
      while index < num_grades:
        grade = input('Enter a grade: ')
        grades.append(grade)
   main()

4 个答案:

答案 0 :(得分:1)

您给定的代码只缺少一件事:您忘记每次循环都增加索引。

使用 for 循环更好地做到这一点:

for index in range(num_grades):
  grade = input('Enter a grade: ')
  grades.append(grade)

答案 1 :(得分:0)

您的问题是您忘记在已创建的index循环内增加while,因此它始终为零。

只需在循环中添加index += 1行即可解决问题。

如@Prune所述,for循环在这种情况下会更合适。

答案 2 :(得分:0)

这种事情很容易被for循环处理。以下是您的代码编辑:

num_grades = 10

def main():
   #making of the list
   grades = []

   #ask the user for the info
   print('Please enter the final grades for 10 students: ')

   #put the info into the list with a loop 
   for i in range(num_grades):
      grade = input('Enter a grade: ')
      grades.append(grade)
main()

答案 3 :(得分:0)

正如@Wintro所提到的,问题是您忘记在while循环中增加索引。 因此,工作解决方案如下所示:

num_grades = 10

def main():
    #making of the list
    grades = [0] * num_grades

    #hold the index
    index = 0

    #ask the user for the info
    print('Please enter the final grades for 10 students: ')

    #put the info into the list with a loop 
    while index < num_grades:
        grade = input('Enter a grade: ')
        grades.append(grade)
        index += 1

main()