前两课稍稍介绍了一下函数,但光说概念还是有些抽象了,今天就来把之前那个小游戏用函数改写一下。
我希望有这样一个函数,它比较两个数的大小。
如果第一个数小了,就输出“too small”
如果第一个数大了,就输出“too big”
如果相等,就输出“bingo!”(意为:猜中了!)
函数还有个返回值,当两数相等的时候返回True,不等就返回False。
于是我们来定义这个函数:
def isEqual(num1, num2):
if num1<num2:
print ('too small')
return False
if num1>num2:
print ('too big')
return False
if num1==num2:
print ('bingo!')
return True
这里说一下,return 是函数的结束语句,return 后面的值被作为这个函数的返回值。函数中任何地方的 return 被执行到的时候,这个函数就会立刻结束并跳出。
注意:函数的 返回值 和我们前面说的 输出 是两回事。print 输出是将结果显示在控制台中,最终一定是转成字符类型;而 返回值,是将结果返回到调用函数的地方,可以是任何类型。
然后在我们的小游戏里使用这个函数:
from random import randint
num = randint(1, 100)
print('Guess what I think?')
bingo = False
while bingo == False:
answer = int(input())
bingo = isEqual(answer, num)
在 isEqual 函数内部,会输出 answer 和 num 的比较结果,如果相等的话,bingo 会得到返回值 True,否则 bingo 得到 False,循环继续。
函数可以把某个功能的代码分离出来,在需要的时候重复使用,就像拼装积木一样,这会让程序结构更清晰。