1

嘿伙计们,我对 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

你觉得我在这里做错了什么?

4

3 回答 3

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)
于 2012-08-15T18:01:30.040 回答
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()'s - 这用于将整数转换为字符串,以便它们可以连接到整个字符串中。有一些更优雅的方法可以做到这一点,但一次一步:)

于 2012-08-15T18:03:45.520 回答
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。但是有几个教程涵盖了基础知识等等。

于 2012-08-15T18:02:26.987 回答