一、课程介绍

本节课学习函数返回值和函数参数传递变量,制作一个N位数以内的加法比赛程序。

A029 《心算大赛》编程 源码_函数的参数可以传递变量

二、重难点解析

A029 《心算大赛》编程 源码_函数返回值_02函数的返回值

在函数中使用 return 有两个作用:

  1. 使函数具有返回值
  2. 结束函数的执行 代码示例:
def a():
    c = 2
    return c
    
b = a()
print(b)

输出结果为:

2

函数的返回值是什么只要看 return 后面紧跟的值就可以。示例中 return 后面跟的是变量 c,是,遇到变量先看看变量的值等于多少,return 返回的值就是多少。这里 c 的值为 2,因此函数 a 的返回值就是 2,最后把返回值保存在变量 b 中,所以 b 的值为 2。

A029 《心算大赛》编程 源码_函数返回值_03函数的参数可以传递变量

调用函数时,实参除了可以是 0、1、2、3 这种实际数值,还可以是变量。

A029 《心算大赛》编程 源码_函数返回值_04

def print_num(num):
    print(num)
    
a = 1
print_num(a)

输出结果为:

1

三、单词卡

addend (组合词) [æd] [end] 加数

number [ˈnʌmbər] 数字

count [kaʊnt] 计数

四、小试牛刀

4.1 源码操作

补充完成下面的代码,使函数 max_num 可以求出三个数中的最大值,并返回。

def max_num(a, b, c):
    

n = max_num(1, 2, 3)
print(n)

输出结果:

A029 《心算大赛》编程 源码_函数的参数可以传递变量_05

def max_num(a, b, c):
    if a > b:
        num = a
    else:
        num = b
    if num > c:
        return num
    else:
        return c



n = max_num(1, 2, 3)
print(n)

五、扩展练习

A029 《心算大赛》编程 源码_函数返回值_06

import random

def addend(n):
    if n == 1:
        num = random.randint(0,9)
        return num
    elif n == 2:
        num = random.randint(10,99)
        return num
    elif n == 3:
        num = random.randint(100,999)
        return num
n1 = 2
n2 = 2
c = 0
for i in range(10):
    num1 = addend(2)
    num2 = addend(3)
    x = str(num1) + '+' + str(num2) + '='
    y = int(input(x))
    if y == num1 + num2:
        c += 1

print('题目数:',10,'正确数√:',c)

六、大开脑洞

来个2位数加减法吧!

A029 《心算大赛》编程 源码_函数返回值_07

import random

def addend(n):
    if n == 1:
        num = random.randint(0,9)
        return num
    elif n == 2:
        num = random.randint(10,99)
        return num
    elif n == 3:
        num = random.randint(100,999)
        return num
n1 = 2
n2 = 2
c = 0
for i in range(10):
    num1 = addend(2)
    num2 = addend(2)
    x = str(num1) + '+' + str(num2) + '='
    y = int(input(x))
    if y == num1 + num2:
        c += 1

print('题目数:',10,'正确数√:',c)