2017-02-16 16 views
-3

Я хочу создать цикл с этим кодом. Чтобы иметь X номеров строк.Как закодировать инструкции if в python?

if line[3]>=15: 
    line[3]=0 
    print("line 3 is >= 15") 
    if line[2]>=15: 
     line[2]=0 
     print("line 2 is >= 15") 
     if line[1]>=15: 
      line[1]=0 
      print("line 1 is >= 15") 
      if line[0]>=15: 
       print("FFFFF") 
      else: 
       line[0]+=1 
     else: 
      line[1]+=1 
    else: 
     line[2]+=1 
else: 
    line[3]+=1 

Я хочу иметь цикл, который бы применил этот код к коду Х.

То, что я хочу выполнить, похоже на строку [4]> = 15, тогда строка [4] будет равна 0, затем добавьте 1 к строке [3].

Но я хочу, чтобы это было в цикле..так, если я хочу иметь более 4 строк, тогда я просто отредактирую, сколько строк я хочу, и больше не добавляю дополнительных операторов if.

+0

Я думаю, что причина, по которой вы получаете downvotes, заключается в том, что вы не предоставили достаточно подробностей в своем описании! Если бы вы могли добавить больше деталей и объяснений того, что искали, это значительно облегчило бы общение. – Marviel

+1

Вам нужно в полной мере объяснить, что вы пытаетесь сделать. Это очень расплывчато. – Carcigenicate

+0

привет, ребята, спасибо за комментарии, я уже отредактировал его, надеюсь, что это уже не смутно. –

ответ

0

Должен признаться, я не уверен, что это то, что вы пытаетесь сделать, но это то, что я понял на основе вашего кода/комментариев.

for i in range(len(line)-1, -1, -1): 
    if line[i] >= 15: 
     line[i] = 0 
     if i != 0: 
      print("line {} is >=15".format(i)) 
     else: 
      print("FFFFF") 
    else: 
     line[i-1] +=1 
+0

это было самым близким к тому, что мне нужно. Я выяснил код, в котором я нуждался в этом. Большое спасибо! –

0

Возможно, я ошибаюсь, но ваш код заставляет меня думать о рекурсивной последовательности. Если это рекурсивная последовательность, вы должны изучить рекурсивные функции в python: http://www.python-course.eu/recursive_functions.php.

Из того, что я понимаю, если line=[1,36,13,17], тогда мы должны получить line=[2, 0, 14, 0].

Вот рекурсивная функция Я сделал:

def test(line,n): 
    if n==0: # 2) and for the last it will run here 
     if line[0]>=15: 
      print("FFFFF") 
     else: 
      line[0]+=1 
     print line 
     return "the end" 
    else: # 1) for all calculations the program will run here 
     if line[n]>=15: 
      line[n]=0 
      print("line " + str(n) + " is >= 15") 
      return test(line,n-1) 
     else: 
      line[n]+=1 
      return test(line,n-1) 

line=[1,36,13,17] 

print test(line,3) 

Вот результат:

line 3 is >= 15 
line 1 is >= 15 
[2, 0, 14, 0] 
the end 

Однако я думаю, что вам не нужно делать какие-либо рекурсивной последовательности, чтобы сделать такую ​​вещь. Вы должны следить за тем, что делала булета.

+0

Спасибо за это! хотя это не то, что я хотел, потому что мой вопрос не был таким ясным. но я узнал кое-что из этого. Спасибо! –