Добавление диапазона чисел python 2.7 - PullRequest
0 голосов
/ 09 октября 2018

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

first = int(raw_input("Input the lower integer : "))
second = int(raw_input("Input the higher integer : "))

def calc(even,odd):
    for even in range(first, second+1):
        if(even % 2 == 0):
            print even
    for odd in range(first, second+1):
        if(odd % 2 > 0):
            print odd


calc(first,second)

Ответы [ 3 ]

0 голосов
/ 09 октября 2018

Попробуйте это:

first = int(input("Input the lower integer : "))
second = int(input("Input the higher integer : "))


def calc(first, second):

    for even in range(first, second + 1):
        if not even % 2:
            print('Even: ', even)

    for odd in range(first, second + 1):
        if odd % 2:
            print('Odd: ', odd)

    return sum(range(first, second + 1))

print('Sum: ', calc(first, second))

Извините, я использовал python3 ...

0 голосов
/ 09 октября 2018

У вас хорошее начало, но имейте в виду, что имена переменных, такие как odd и even, являются просто именами, которые вы назначаете, и это не означает, что значение будет нечетным или четным.

На самом деле, в двух созданных вами циклах

for even in range(first, second+1)
for odd in range(first, second+1)

odd и even оба будут повторять одинаковые числа.Таким образом, нет необходимости повторять цикл дважды, вы можете просто выполнить цикл один раз, поскольку число всегда будет либо четным, либо нечетным, поэтому вы можете объединить два цикла следующим образом:

for num in range(first, second+1):
    if(num % 2 == 0):
        print 'even', num
    else:
        print 'odd', num

Теперь вместо печати вы можетеделай что хочешь, т.е. добавляя нечетные числа

0 голосов
/ 09 октября 2018

Попробуй это.Это печатает все четные числа, а затем сумму нечетных чисел:

first = int(raw_input("Input the lower integer : "))
second = int(raw_input("Input the higher integer : "))

def calc(first, second):
    sumOdds = 0
    for i in range(first, second+1):
        if i % 2 == 0:
            print 'Even: ', i
        else:
            sumOdds += i

    print(sumOdds)


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