第1关:函数的参数 - 搭建函数房子的砖

编程要求

本关的编程任务是补全src/Step1/plus.py文件的代码,实现相应的功能。具体要求如下:

  • 定义并调用一个函数,功能是对输入的列表中的数值元素进行累加,列表中元素的个数没有确定;
  • 将累加结果存储到变量d中;
  • 输出累加结果d

本关涉及的src/Step1/plus.py代码文件的代码框架如下:

# coding=utf-8
# 创建一个空列表numbers
numbers = []
# str用来存储输入的数字字符串,lst1是将输入的字符串用空格分割,存储为列表
str = input()
lst1 = str.split(' ')
# 将输入的数字字符串转换为整型并赋值给numbers列表
for i in range(len(lst1)):
   numbers.append(int(lst1.pop()))
# 请在此添加代码,对输入的列表中的数值元素进行累加求和
########## Begin ##########
def plus(numbers):  
   m = 0  
   for i in numbers:  
      m += i  
   return(m)
d = plus(numbers)
########## End ##########
print(d)

第2关:函数的返回值 - 可有可无的 return

编程要求

本关的编程任务是补全src/step2/return.py文件的代码,实现相应的功能。具体要求如下:

  • 定义一个函数gcd,功能是求两个正整数的最大公约数;
  • 调用函数gcd,得到输入的两个正整数的最大公约数,并输出这个最大公约数。

本关涉及的代码文件src/step2/return.py的代码框架如下:

# coding=utf-8
# 输入两个正整数a,b
a = int(input())
b = int(input())
# 请在此添加代码,求两个正整数的最大公约数
########## Begin ##########
def gcd(a,b):
    temp=a%b
    while temp !=0:
        a=b
        b=temp
        temp=a%b
    return b
########## End ##########
# 调用函数,并输出最大公约数
print(gcd(a,b))

第3关:函数的使用范围:Python 作用域

编程要求

本关的编程任务是补全src/step3/scope.py文件的代码,实现相应的功能。具体要求如下:

  • 编写程序,功能是求两个正整数的最小公倍数;
  • 要求实现方法:先定义一个private函数 _gcd()求两个正整数的最大公约数,再定义public函数lcm()调用 _gcd()函数求两个正整数的最小公倍数;
  • 调用函数lcm(),并将输入的两个正整数的最小公倍数输出。

本关涉及的代码文件src/step3/scope.py的代码框架如下:

# coding=utf-8
# 输入两个正整数a,b
a = int(input())
b = int(input())
# 请在此添加代码,求两个正整数的最小公倍数
########## Begin ##########
def lcm(a,b):
    if a>b:
        bigger=a
    else:
        bigger=b
    for i in range(bigger,a*b+1):
        if i%a==0 and i%b==0:
            lcm=i
            return(lcm)
########## End ##########
# 调用函数,并输出a,b的最小公倍数
print(lcm(a,b))

 

(格式可复制)