简体   繁体   English

Python 2D 数组构造

[英]Python 2D array construction

The main problem is that the windowarea is not being appended as a matrix with rows and columns but as a row matrix.主要问题是 windowarea 没有被附加为具有行和列的矩阵,而是作为行矩阵。

i = int (raw_input ('Number of elevations:'))
elevationarea = []
windowarea = []
pureelevationarea = []

    for i in xrange(i):
       print ('Elevation ' + str(i+1))
       j = int(raw_input('Number of windows?:')) 
       H = float(raw_input('Height of elevation?:'))
       L = float(raw_input('Length of elevation?:'))
       elevationarea.append(H * L)

        for j in xrange(j):
            print ('Elevation ' + str(i+1))
            print ('Window ' + str(j+1))
            podia = float(raw_input('Podia parathirou?:'))
            preki = float(raw_input('Preki parathyrou?:'))
            mikosparathirou = float(raw_input('Mikos parathyrou?:'))
            embadonparathiron =(preki-podia)*mikosparathirou
            windowarea.append(embadonparathiron)

你忘记了那里的乘号:

embadonparathiron =(preki * podia)*mikosparathirou

You never define a 2d structure here so it is quite normal that you don't get a 2d structure... How would Python guess that you want 2d?你从来没有在这里定义一个 2d 结构,所以你没有得到一个 2d 结构是很正常的...... Python 怎么会猜到你想要 2d?

2 options for you: use numpy arrays or list of lists 2 个选项:使用 numpy 数组或列表列表

for numpy you should start by reading any basic tutorial (not very hard to start and it is worth the little extra effort, numpy is great once you are familiar with it!)对于 numpy,你应该从阅读任何基本教程开始(不是很难开始,值得付出一点额外的努力,一旦你熟悉了 numpy 就会很棒!)

for list of lists here is an example on how to do it:对于列表列表,这里是一个关于如何执行此操作的示例:

matrix = []
for i in range(n_rows):
    new_row = []
    for j in range(n_cols):
        new_row.append(some_value)
    matrix.append(new_row)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM