我试图让我的函数接受两个参数,并返回它们的总和。我是以正确的方式来做这件事的吗?这就是我到目前为止所做的:
def my_sum(a, b):
sum = a + b
def main():
a = input(int("enter a number: ", a)
b = input(int("enter a number: ", b)
sum = a + b
return sum
print(" result: ", sum)
main()
答案 0 :(得分:4)
所以它看起来不错,但主要的问题是你实际上并没有调用你的函数:)一旦你得到你的两个数字,你就可以调用你的函数(你已经正确设置): / p>
def main():
# When you assign variables here, make sure you are putting the int outside
# You also don't need to reference the variable twice
a = int(input("enter a number: "))
b = int(input("enter a number: "))
# Here is where your call goes (try to avoid using variable names that
# are the same as Python keywords, such as sum)
s = my_sum(a, b)
print(" result: ", s)
现在,您需要做的另一件事是修改函数以返回值。你已经差不多了 - 只需添加一个返回(请注意,因为你只是返回两个数字的总和,所以你不必将它分配给变量):
def my_sum(a, b):
return a + b
现在这意味着当您运行s = my_sum(a, b)
时,您的函数将返回这两个数字的总和并将它们放入s
,然后您可以按照自己的方式进行打印。
另一件小事 - 当你使用你的设置(使用def main()
等)时,你通常想要这样称呼它:
if __name__ == '__main__':
main()
在这个阶段,不要过分担心它意味着什么,但是一旦你开始进入模块等有趣的东西,这是一个很好的习惯。)
答案 1 :(得分:0)
在print
之后执行return sum
函数不起作用,因为在返回返回值时,执行将退出范围,订单应该反转。
您的输入功能未正确实施。
正确的代码应该是:
def main():
a = input("enter a number: ")
b = input("enter a number: ")
sum = a + b
print(" result: ", sum)
return sum
答案 2 :(得分:0)
你写过错误的编码风格 如果你想通过使用sum方法做一些比这个
def my_sum(a, b):
sum = a + b
return sum
def main():
a = int(raw_input("enter a number: "))
b = int(raw_input("enter a number: "))
sum = my_sum(a,b)
print" result: ", sum
main()
我希望这可以按照您的要求运作。 问候, 阿尼尔
答案 3 :(得分:0)
我不确定你在那里定义的第一个函数的目的(my_sum
)。但是,main
中也存在一些问题。 return
函数始终退出其所在的函数,并缩小到更高级别的范围。这与break
非常相似,只是它返回一个值。此外,当您要求用户输入时,您的语法不正确。它应该是:
def main():
a = int(raw_input("Enter a number: "))
b = int(raw_input("Enter a number: "))
return "Result" + (a+b)
main()
此外,如果您希望my_sum
自动返回总和,则应使用return
或print
:
def my_sum(a, b):
return a + b