首页 > 解决方案 > 在 Python 上获得 2 个或更多输入后将元素添加到列表

问题描述

def take_info(arr2,arr, number):

     arr[0] = number
     name = input()
     arr[1] = name
     grade = int(input())
     arr[2] = grade
     second_grade = int(input())
     arr[3] = second_grade
     arr2. append(arr)

def main():
     number = int(input())
     arr = [0] * 4
     count =1
     arr2 = // ? I dont know how to do it, range must be equal to count but how? Thats the point 1.
     while number>0:
           take_info(arr2,arr,number)
           count +=1
           number = int(input())

main()

take_info 函数必须返回 while ' number >0 ',当 number 为 0 或小于 0 时循环将结束。我想将这些值和名称添加到一个列表中,另一个列表的每个元素都应该是列表。谁能帮助我?

标签: pythonarraysappendelementadd

解决方案


任何时候你重复某事,你可能想要使用一个循环。如果您使用循环来构建列表,您可能想要使用列表推导。

arr = [input() for _ in range(3)]

鉴于您更新的问题,我可能会这样做:

def take_info(number):
    return [number, input(), int(input()), int(input())]

def main():
    return [take_info(number) for number in range(int(input()))]

print(main())

如果数字倒数而不是倒数很重要,您可以通过修改range调用使其从 N-1 变为 0 而不是从 0 变为 N-1 来实现。


推荐阅读