Структура цикла КоллатцаPython

Программы на Python
Anonymous
Структура цикла Коллатца

Сообщение Anonymous »

Помогите мне понять, что я сделал не так. Проблема в том, что


Последовательность Коллатца
Напишите функцию с именем Collatz(), имеющую один параметр с именем Number. Если число четное, то метод Collatz() должен вывести число // 2 и вернуть это значение. Если число нечетное, то функция Collatz() должна напечатать и вернуть 3 * число + 1.


Затем напишите программу, которая позволит пользователю введите целое число, и оно будет вызывать функцию Collatz() для этого числа, пока функция не вернет значение 1. (Как ни удивительно, эта последовательность на самом деле работает для любого целого числа — рано или поздно, используя эту последовательность, вы придете к 1! Даже математики не понимают, почему. Ваша программа исследует так называемую последовательность Коллатца, которую иногда называют «простейшей невозможной математической задачей».)

Не забудьте преобразовать возвращаемое значение из input() в целое число с помощью функции int(); в противном случае это будет строковое значение.

Подсказка: целое число является четным, если число % 2 == 0, и нечетным, если число % 2 == 1.

def collatz(number):
if number%2==0:
print(number//2)
else:
print(3*number+1)

x = int(input('print num'))
while TRUE:
if collatz(x)!=1:
break


Подробнее здесь: https://stackoverflow.com/questions/511 ... -structure

Вернуться в «Python»