Как запустить функцию в цикле с изменяющимися входами - PullRequest
0 голосов
/ 14 января 2019

После окончания первого раунда моей программы (функция Коллатца) я хочу, чтобы моя программа продолжала вычислять по предыдущему результату.

Я написал программу с возможностью одной итерации, которая начинается с ввода:

def collatz(number):
    if number % 2 == 0: #parity conditions value
        return number // 2
    if number % 2 == 1: #parity oddness value
        return 3 * number + 1

result = 5    
while True:
    print ('Type your number')
    result = int(input())
    print (collatz(result))

1 Ответ

0 голосов
/ 14 января 2019

Если вы хотите перезапускать функцию снова и снова с последним результатом выполнения - сохраните возвращаемое значение в переменной и вызовите функцию с ним.

def collatz(number):
    if number % 2 == 0: #parity conditions value
        return number // 2
    if number % 2 == 1: #parity oddness value
        return 3 * number + 1

print ('Type your number')
result = int(input()) #first time the input will come from the user
while True:
    result = collatz(result) #calculate new result
    print (result)
    #if you want to add break out of the loop put it here 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...