我必须使用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()
答案 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()