Конвертировать C ++ в Python (для многократного назначения Loop) - PullRequest
2 голосов
/ 29 января 2010

Конвертировать в python:

#include <iostream>
using namespace std;
int main(int argc, char** argv)
{
    for (int i = 0, j = i + 3; i < 100; ++i, j= i+3)
         cout << i << " j: " << j << endl;

    getchar();
    return 0;
}

Я пытаюсь:

for i in range(99):
    j = i + 3
    print i, " j: ", j

Как сделать так, чтобы это было за цикл?

Ответы [ 6 ]

8 голосов
/ 29 января 2010

Просто измените 99 на 100

for i in range(100):
  j = i + 3
  print i, " j: ", j

Или

for i,j in [(i, i+3) for i in range(100)]:
6 голосов
/ 29 января 2010

Они идентичны, за исключением верхней границы в цикле (98 против 99). Что за вопрос?

На одной строке (но, пожалуйста, не делайте этого):

for i,j in [(i, i+3) for i in range(100)]:
5 голосов
/ 29 января 2010

Поскольку j всегда зависит от значения i, вы также можете заменить все экземпляры j на i + 3.

3 голосов
/ 29 января 2010

Я не понимаю, это это ровно один питон for loop там. В чем вопрос? Вы хотите объявление j внутри объявления цикла, как в c ++? Проверьте прасоновский ответ на ближайший эквивалент питона. Но почему переменная j стоит на первом месте? j=i+3 кажется всегда правдой, так почему бы и нет?

for i in range(100):
    print i, " j: ", i+3
1 голос
/ 29 января 2010
for (i,j) in zip(range(100), range(3, 100+3)):
0 голосов
/ 06 февраля 2012
for i in range(100):
    j = i + 3
    print i, "j:", j
raw_input()

C ++: http://ideone.com/7Kdmk

Python: http://ideone.com/nATEP

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...