Python: для проблемы цикла - PullRequest
0 голосов
/ 11 марта 2010

У меня есть простая проблема для цикла, когда я запускаю код, приведенный ниже, он печатает серии «сине-зеленых» последовательностей, а затем серии «зеленых» последовательностей. Я хочу, чтобы вывод был; если строка [4] равна 1, чтобы напечатать синий, иначе выведите зеленый.

 for row in rows:
        for i in `row[4]`:
            if i ==`1`:
                print 'blue '
            else:
                print 'green '

Любая помощь будет благодарна

спасибо

Яс

Ответы [ 3 ]

3 голосов
/ 11 марта 2010

Попробуйте что-то вроде этого:

for i in xrange(len(rows)):
  if rows[i] == '1':
    print "blue"
  else:
    print "green"

Или, поскольку вам кажется, что индекс на самом деле вас не интересует, вы, конечно, можете сделать это более аккуратно:

for r in rows:
  if r == "1":
    print "blue"
  else:
    print "green"
2 голосов
/ 11 марта 2010

функция enumerate() выполнит итерацию и выдаст вам индекс, а также значение:

for i, v in enumerate(rows):
    if i == 4:
        print "blue"
    else:
        print "green"

если вы хотите напечатать синий цвет на каждой четвертой строке, в противном случае зеленый сделайте это:

for i, v in enumerate(rows):
    if i % 4 == 0:
        print "blue"
    else:
        print "green"
1 голос
/ 11 марта 2010
if rows[4] == 1:
    print 'blue'
else:
    print 'green'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...