在Python中定义过程的基础知识?

时间:2012-08-15 17:58:35

标签: python procedures

Hey Guys我是Python的新手,我正在学习这种编程语言。我正在使用Python IDE(GUI)来运行我的所有代码。我已经介绍了定义自定义过程的主题。但是在执行时它没有给出任何输出。

以下是我的代码。我想定义一个添加两个数字的过程,然后打印我输入的任意两个数字的结果。

def sum(a,b):
    print "The Sum Program"
    c = sum(10,14)
    print "If a is "+a+" and b is "+b++ then sum of the them is "+c

你认为我在这里做错了什么?

3 个答案:

答案 0 :(得分:6)

你在这里创造了一个无限循环;在sum方法中,您始终会调用sum方法。

您应该做的是将您的打印语句移到sum方法之外。 sum方法中的内容是return语句,它返回您的总和。

所以,你的整个程序应该是这样的(编辑:添加了str()个电话,感谢@DSM):

# The procedure declaration
def sum(a,b):
    return a+b

# Your output code
print "The Sum Program"
a = 10
b = 14
c = sum(a, b)
print "If a is "+str(a)+" and b is "+str(b)+" then sum of the them is "+str(c)

答案 1 :(得分:2)

你可能想要尝试的一件事是调用你的函数(因为sum是一个内置的Python函数,因为你似乎知道,因为你也使用它:))。你可以这样做:

def my_sum(a, b):
    return a + b

print 'The Sum Program'
a = 10
b = 14
c = my_sum(a, b)
print ('If a is ' + str(a) + 
       ' and b is ' + str(b) + 
       ' then the sum of them is ' + str(c))

注意str() - 这用于将整数转换为字符串,以便它们可以连接到整个字符串中。有一些更优雅的方法可以做到这一点,但一步一步:)

答案 2 :(得分:0)

def sum(a, b):
   print "The Sum Program"
   c = a + b
   print "If a is " + str(a) + " and b is " + str(b) + " then the sum of them is " + str(c)

# call it somewhere else with parameters:
sum(10, 14)

您应该从计算中分割IO。

我推荐使用Python上的Wikibooks。但是有几个教程可以涵盖基础知识等等。