Как сделать вывод функции python в стандартный вывод? - PullRequest
0 голосов
/ 23 марта 2019

Я пытаюсь решить проблему, когда мне нужно создать функцию, но мне нужен вывод в формате stdout. Это код, над которым я работал:

def oddNumbers(l, r):
    s = ""
    if l % 2 == 0:
        if r % 2 == 0:
            for i in range(l + 1, r, 2):
                s += str(i) + " "
        else:
            for i in range(l + 1, r + 1, 2):
                s += str(i) + " "
    else:
        if r % 2 == 0:
            for i in range(l, r, 2):
                s += str(i) + " "
        else:
            for i in range(l, r + 1, 2):
                s += str(i) + " "
    return s

Этот код работает для однозначных выходов, но не работает для двузначных или трехзначных ответов. Как получить правильный вывод в формате stdout? Любая помощь будет оценена. спасибо!

например, для нечетных номеров (2, 6) я получаю вывод: 3 5 что правильно но для двузначных выводов, таких как oddNumbers (96, 97), я получаю вывод: 9 7 что не правильно. я должен получить 97

Я не знаю, как это исправить.

1 Ответ

0 голосов
/ 23 марта 2019

Не уверен, что вы имеете в виду. Код работает для всех ответов.

    def oddNumbers(l, r):
    s = ""
    if not l % 2:
        if not r % 2:
            for i in range(l+1, r, 2):
                s += str(i) + " "
        else:
            for i in range(l+1, r+1, 2):
                s += str(i) + " "
    else:
        if not r % 2:
            for i in range(l, r, 2):
                s += str(i) + " "
        else:
            for i in range(l, r+1, 2):
                s += str(i) + " "
    return s

print(oddNumbers(0,10**4))

выводит все остальные числа от 1 до 9999

...