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

2024-09-29 17:16:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我知道一些基本的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++,在这个月中旬开始了Python。p>

谢谢


Tags: 用户forsize方式数组arrayintenter
2条回答

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)

相关问题 更多 >

    热门问题