该功能可以在两个数字之间返回总和

问题描述 投票:-4回答:1

目前我在我的第一个编程类和必须创建一个返回两数之和的函数。我运行下面的代码时收到错误。这似乎是与我的print语句,但也可能有其他的事情我失踪。我想了解,所以任何输入是非常感谢!

first_number = input("Enter first number:  ")
second_number = input("Enter second number:  ")

def sum_between(first_number, second_number):

    while first_number <= second_number:
        sum_between_numbers = range(first_number, (second_number +(str(1)))
        print(sum_between_numbers) 
python
1个回答
0
投票

返回两个数字的总和的函数:

def sum(first, second):
    return first + second

返回所有这两个数字之间的数字之和的函数,包括:

def sum_between(first, second):
    nums_between = range(first, second+1)  # Generates a list [first, first+1, first+2, ..., second]
    sum_between = 0  # initialize the sum between as 0
    for num in nums_between:  # count through every number from first to second...
        sum_between += num    # ...and add them together
    return sum_between   # return the sum of all of that

更Python的方式做到这一点是使用内置的功能sum(),这需要可迭代,并返回内的所有项目的总和:

def sum_between(first, second):
    nums_between = range(first, second + 1)
    return sum(nums_between)

然后,你只需要调用您的代码:

first_number = int(input("Enter first number: "))  # the input() function returns a string; we need to typecast it to an integer first
second_number = int(input("Enter second number: "))
...
print(sum_between(first_number, second_number))

请记住,蟒蛇不是JavaScript的。 Python的关心两件事情是什么类型的,如果你尝试添加intstr在一起,你可能会得到一个错误。整数加法是这样的:

1 + 2 == 3

除了字符串(称为“串联”)的工作原理是这样的:

'1' + '2' == '12'

这是你在你的代码运行到这个问题的一部分 - 我要把它留给你去调查它发挥了作用。良好的学习锻炼。

© www.soinside.com 2019 - 2024. All rights reserved.