Advanced Hailstone - Вложенная петля / комбинация - PullRequest
0 голосов
/ 13 февраля 2019

Создание последовательности града, которая соответствует приведенной ниже схеме:

, если x четное -> x / 2, если x нечетное -> [a] x + [b]

, где a иb - целочисленные значения {0, ..., 10}, допускающие 121 возможную комбинацию a и b.Мне нужно указать, сходится ли последовательность для всех значений 1000 x

Я использую Python для решения проблемы, я новичок в программировании на Python, но я учусь быстро и нуждаюсь в руководстве по решению

`for n in range(1,1001):
for i in a:
    for j in b:
         while  j != 1 & i != 1:
             print ("a:", i, "b:", j)
             if j % 2 == 0:
                 j = j / 2
                 length = length + 1
             else:
                n = (n * j) + i     
             if n == 1:
                print (n)

'

вышесказанное работает в том, что оно работает, но не выполняет то, что я хочу.Он просто продолжает цикл целое число один и не будет проходить мимо него

Ответы [ 2 ]

0 голосов
/ 15 февраля 2019

'a = [0,1,2,3,4,5,6,7,8,9,10] b = [0,1,2,3,4,5,6,7,8,9,10]

для n в диапазоне (1,1001): для i в a: для j в b: while j! = 1 & i! = 1: print ("a:", i,«b:», j) если j% 2 == 0: j = j / 2 длина = длина + 1 остальное: n = (n * j) + i
если n == 1: print (n) '

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

0 голосов
/ 13 февраля 2019

Я вижу следующие проблемы в вашем коде:

  • range использование, range не принимает list в качестве аргумента, вы должны использовать for i in a:, когда a равно list, переработайте все ваши for с соответственно.
  • сломан while синтаксис: у вас слишком много : с в вашем while, должен быть один : (в конце)
  • возможно нарушен отступ: обратите внимание, что if не выровнен с соответствующим else, имейте в виду, что в языке Python отступ имеет решающее значение
  • j = j / b приведет к ошибке - вы не можете разделить int на list
  • вы никогда не определите n, поэтому n = (n * a) + 1 и все другие строки с n приведут к ошибкам

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

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