今天练习function,写一个最简单的求和函数:
def my_function (index1,index2):
print "The sum of the two indexes are: %d" %(index1+index2)
print "This functions is to calculate the sum of two numbers."
input1 = raw_input("Please input the first number:")
input2 = raw_input("Please input the second number:")
my_function(input1, input2)
当然,运行完就报错了:
这是因为raw_input函数,输入的是字符串string类型。改成input函数(input返回的是数值类型int, float),就好啦!
def my_function (index1,index2):
print "The sum of the two indexes are: %d" %(index1+index2)
print "This functions is to calculate the sum of two numbers."
input1 = input("Please input the first number:")
input2 = input("Please input the second number:")
my_function(input1, input2)
完美运行吼吼吼!
--------------------------------------
今天学写function
def print_two(*args):
arg1, arg2 = args
print "arg1: %r, arg2: %r" % (arg1, arg2)
print_two("Zed", "Shaw")
结果运行时报错 IndentationError: unexpected indent,指到了第三行
搜了一下是说格式错误 因为python对格式要求严格。(参考blog)
百思不得其解啊
把print 前面的空格删除,再重新敲空格,就好了....
补充3: 终于知道是怎么回事儿了:
让编辑器显示所有符号后,发现后面几个print因为notepad++自动缩进的问题,全部tab化了。也就是说,在这个图片里,只有第一个print的缩进是对的——4个空格。剩下(一个向右的橘色箭头)都是Tab,是错的。真坑爹啊! 不知道怎么能让编辑器智能点儿......
像这张图片这样就对了!!!
补充2: *args表示 tell Python to take all the arguments to the function and then put them in args as a list.
args可以用其他起的名字代替,并不是固定的
补充:在colon后面所有缩进四个空格four spaces的行都默认为print_two这个函数的内容