通过for循环使用用户输入填充列表

Fill a list with user input via a for loop

本文关键字:输入 填充 列表 用户 for 循环 通过      更新时间:2023-10-16

我知道一些基本的C++,也知道如何通过for循环用用户输入填充数组,但我想知道如何在Python 3中完成这项任务。我环顾四周,但无法真正理解其他人回答这个问题的方式。

int size = 0;
cout << "Enter size: " << endl;
cin >> size;
array[size] = {0};
for (int i = 0; i < size; i++)
cin >> array[i];

希望有人能用一种简单的方式向我解释。正如你所知,我大约在5到6个月前才开始使用C++,Python3大约在本月中旬。

谢谢!

C++中,您需要首先定义数组大小,在python列表中,如果不这样做,它们将在添加元素时相应地增长。例如,对于python中的代码,我将编写类似的等效代码(我添加了print语句来演示a_list的增长(:

size = int(input("Enter size: "))  # for input 3
a_list = []
for i in range(size):
a_list.append(input())  # for input 1, 2, 3
print('python list:', a_list)
>>> python list: ['1', '2', '3']

关于您编写的C++部分,首先我想说一件事。

此部分未得到C++的正式支持:

cin >> size;
array[size] = {0};

可变长度数组(VLA(在C99中是有效的,可能作为C扩展与一些C++编译器一起使用,但它不是该语言的官方部分。在C++中,不应该使用它们,因为这可能导致代码不可移植。请使用类似std::vector的东西。

请记住,上面突出显示的代码部分使用的语法无效。首先,缺少一个类型,任何形式的默认初始化都对VLA无效。

主题:

size = int(input('Size:'))
my_array = []
for i in range(size):
val = int(input())
my_array.append(val)