2014-12-30 11 views
-6

это мой первый вопрос, но я много раз посещал этот сайт, чтобы найти ответы. Я сталкиваюсь с тем, что кажется действительно тупой проблемой. Я пытаюсь создать список «2d» в python, но синтаксическая ошибка дразнит меня. Вот мой код:Ошибка синтаксиса в цикле for в python

def gen2darr(row, column): # generates an array 
    for in range row: 
     arr.append([]) # create the lines 
    for i in range row: 
     for in range column: 
      arr[i].append(float(int(row*column*random))) 
      # fills the array, float(int(because I want floats that 'are ints', 
      # ex: 2.0 or 152.0 

и вот что я получаю:

for in range row: 
     ^
SyntaxError: invalid syntax 

Я попытался положить значение в цикл таким образом:

for j in range row: 

но Затем я получаю это:

for j in range row: 
        ^
SyntaxError: invalid syntax 

Может кто-нибудь мне помочь? Для меня синтаксическая ошибка означает, что у меня, скорее всего, отсутствует скобка или кома, но я не могу ее найти.

+4

Посмотрите, что делает 'range', и как вы его используете. – Yosh

+1

Посмотрите, что делает 'for', и как вы его используете. – Jivan

+0

Ожидаете ли вы, что этот 2D-список заполняется случайными числами? Это не так. Но вам нужно прочитать документы в «случайном» модуле, чтобы понять, почему. –

ответ

2

Если вы хотите использовать диапазон, то вам необходимо вызов функция:

for j in range(row): 

range не является частью синтаксиса Python, это просто еще один built-in object type.

+0

Спасибо большое! Как-то, хотя я не мог использовать скобки – Etienne

2

синтаксис:

for j in range(row): 

range функция принимает аргумент. И вы должны указать, какую переменную вы будете использовать для итерации (j)

1

Функция диапазона имеет следующий синтаксис: диапазон (предел 1, предел 2), вы передаете как аргумент размер массива, который вы хотите.

Смежные вопросы