目前我在我的第一个编程类和必须创建一个返回两数之和的函数。我运行下面的代码时收到错误。这似乎是与我的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)
返回两个数字的总和的函数:
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的关心两件事情是什么类型的,如果你尝试添加int
和str
在一起,你可能会得到一个错误。整数加法是这样的:
1 + 2 == 3
除了字符串(称为“串联”)的工作原理是这样的:
'1' + '2' == '12'
这是你在你的代码运行到这个问题的一部分 - 我要把它留给你去调查它发挥了作用。良好的学习锻炼。