Python - проблема w3o3 с возвращением правильного результата - PullRequest
0 голосов
/ 12 марта 2019

В настоящее время у меня возникают проблемы с выполнением задания, потому что я понимаю, для чего оно требуется, как написано ниже:

В этом назначении мы объединяем некоторые программные структуры и используем несколько операторов. Мы в этом назначении работают только с положительными целыми числами (см. условия ниже). Мы получаем номер и, таким образом, произвести новый номер. С этим новым номером мы повторяем процедуру до число стало 1. Сама процедура проста: (дайте указанное число: x) 1. определить, является ли х нечетным или четным. 2. Если x четное, то мы разделим x на 2. 3. Если x нечетно, мы умножаем x на 3 и добавляем 1. 4. Это дает новый номер. Каждое число, с которым мы сталкиваемся в этой процедуре, должно быть включено в результат. Это строка с числа, разделенные запятой.

__version__ = '1.0'
__author__ = anonymous
__opgave__ = 'w3o3test'

from w3o3 import produceerReeks

#Do not change the testcode!

if __name__ == '__main__':
    for d, r in [
        (7, "7,22,11,34,17,52,26,13,40,20,10,5,16,8,4,2,1"),
        (1, "1"),
        (17, "17,52,26,13,40,20,10,5,16,8,4,2,1"),
        (13, "13,40,20,10,5,16,8,4,2,1"),
        (0, ""),
        (-1, ""),
    ]:
        res = produceerReeks(d)
        if r == res:
            print('produceerReeks({}) --> {}'.format(
                d, res))
        else:
            print('Error:produceerReeks({}) --> {} != {}'.format(
                d, res, r))

Это задание:

def produceerReeks(x):
    # Write your code
    return 

Это фактическое задание, и это то, что у меня есть до сих пор:

#!/usr/bin/env python3

def produceerReeks(x):
    while (x>=1):
        if (x % 2) == 0:
            x=x/2
        else:
            x=x*3+1
    return (x)

Может кто-нибудь помочь мне заставить это работать? Это вывод прямо сейчас:

Error:produceerReeks(7) --> None != 7,22,11,34,17,52,26,13,40,20,10,5,16,8,4,2,1
Error:produceerReeks(1) --> None != 1
Error:produceerReeks(17) --> None != 17,52,26,13,40,20,10,5,16,8,4,2,1
Error:produceerReeks(13) --> None != 13,40,20,10,5,16,8,4,2,1
Error:produceerReeks(0) --> None != 
Error:produceerReeks(-1) --> None != 
...