Мне нужна помощь, чтобы использовать код Python, чтобы найти сумму чисел между двумя целыми числами, которые были введены - PullRequest
0 голосов
/ 26 февраля 2019

Мне нужна помощь, чтобы использовать код Python, чтобы найти сумму чисел между двумя введенными целыми числами.

Я включил свой код ниже, но он не работает.

num1 = int(input('What is your first number? '))
num2 = int(input('What is your second number? '))
if num1 > num2:
    high = num1
    low = num2
if num1 < num2:
    low = num1
    high = num2
def main():
    sum = low
    low = low + 1
    sum = low + sum
    if low > high:
        print('The sum is', sum)
    if low < high:
        main()

Вопрос ниже:

Рассмотрим алгоритм, который принимает 2 целых числа и находит сумму всех целых чисел между ними (включая два числа).

ДляНапример, числа 2 и 5 дают сумму 14. 2 + 3 + 4 + 5 = 14

Ответы [ 3 ]

0 голосов
/ 26 февраля 2019

Самый простой подход - использовать встроенную функцию sum вместо range от low до high.Обратите внимание, что диапазоны исключают верхний барьер, поэтому вам придется увеличить его, чтобы включить введенное значение high:

sum_between = sum(range(low, high + 1))

Возможно, будет использоваться более производительный подход (по крайней мере для больших диапазонов) формула для суммы арифметической прогрессии :

n = high - low + 1
sum_between = n * (low + high) / 2
0 голосов
/ 26 февраля 2019

вы можете полностью удалить for-loop.просто используйте встроенные инструменты Python для своей цели, используйте sum(range(num1,num2+1)), проверьте, что num1>num2 или num1<num2 верны, и, пожалуйста, держите их в коде, но у вас есть один необработанный случай: когда они равны,и в этом случае вы просто возвращаете sum = num1.

надеюсь, что это помогло

0 голосов
/ 26 февраля 2019
def main(num1, num2):
    sum = 0
    if num2 > num1:
        for i in range(num1, num2+1):
            sum += i
    elif num1 > num2:
        for i in range(num2, num1+1):
            sum += i
    else: sum = num1*2
    return sum


num1 = int(input('What is your first number? '))
num2 = int(input('What is your second number? '))
sum = main(num1, num2)
print('The sum is:', sum)

Читайте построчно, и это будет иметь смысл :) Удачи

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