python pta实验六 函数

目录

一、判断题

二、选择题

三、函数题

6-1 sdut-使用函数求a+aa+aaa++⋯+aa.....aaa(n个a)之和。

6-2 编写函数判断水仙花数

6-3 sdut-使用函数求区域内的素数之和

6-4 兔子繁殖


一、判断题

  1. 模块化设计程序时,尽可能使功能块内部耦合紧密,功能块之间耦合度低。        T
  2. 函数定义时,可以有多条return语句,但每调用一次该函数只会执行其中一条return。        T
  3. Python 函数名与变量命名规则一样。        T
  4. 可以从程序中的任何位置访问局部变量        F
  5. Python允许将多个参数传递给函数。        T
  6. 要给函数中的全局变量赋值,必须首先在函数中声明全局变量。        T
  7. 定义函数时,函数形参不需要声明其类型,也不需要指定函数的返回值类型。        T
  8. Lambda表达式只可以包含一个表达式,不允许包含其他复杂语句,但在表达式中可以调用其他函数,该表达式的计算结果相当于函数返回值。        T
  9. 在Python中,函数定义必须在函数调用之前。        T
  10. 在函数中可以没有return语句。        T

二、选择题

  1. 不是Python语言关键字的是:function
  2. 以下关于函数定义的描述错误的是:        A.函数必须有返回值        B.函数使用return给出返回值        C.函数定义中可以指定无限多个参数        D.函数定义中可以为某些参数指定默认值
  3. 以下关于函数作用的描述错误的是:        A.提高代码执行速度        B.复用代码        C.增强代码的可读性        D.降低编程复杂度
  4. 调用以下函数返回的值        def myfun(): pass        NONE
  5. 导入模块的方式错误的是        A.import mo        B.from mo import *        C.import m from mo        D.import mo as m  导入模块的方式可以是importmo,frommo import *或者importmo as m
  6. 下列有关函数的说法中,正确的是( )。        A.函数的定义必须在程序开头        B.函数定义后,其中的程序就可以自动执行        C.函数体与关键字def必须左对齐        D.函数定义后需要调用才会执行
  7. 使用( )关键字声明匿名函数。        A.def        B.lambda        C.func        D.function
  8. 关于lambda函数,以下选项中描述错误的是()。        A.定义了一种特殊的函数        B.lambda函数将函数名作为函数结果返回        C.lambda函数也称为匿名函数        D.lambda不是Python的保留字
  9. 在一个函数中如局部变量和全局变量同名,则_________________。A.局部变量屏蔽全局变量        B.全局变量屏蔽局部变量        C.全局变量和局部变量都不可用        D.程序错误
  10. Python语言中的自定义函数若未用return语句返回值,则该函数返回的是( ) 。A.随机数        B.None        C.0        D.不确定

三、函数题

6-1 sdut-使用函数求a+aa+aaa++⋯+aa.....aaa(n个a)之和。

给定两个均不超过9的正整数a和n,要求:编写函数fn(a,n), 求a+aa+aaa++⋯+aa⋯aa(n个a)之和,fn须返回的是数列之和。

  • 函数接口定义:def fn(a,n):        其中, a 和 n 都是传入的参数。 a 的值在[1, 9]范围;n 是[1, 9]区间内的个位数。函数返回数列之和。
  • 裁判测试程序样例:

/* 请在这里填写答案 */

a,b=input().split()
s=fn(int(a),int(b))
print(s)
  • 输入样例: 2 3                  输出样例:246
def fn(a, n):
    r = 0
    s=0
    for i in range(0, n):
        r += a * 10 ** i
        s+= r
    return s

6-2 编写函数判断水仙花数

给定一个三位数n,要求编写函数isflower(n)判断n是否为水仙花数,如果是,则返回True,否则返回False。所谓"水仙花数"是指一个3位数,其各位数字立方和等于该数本身。例如,153是一个水仙花数,因为153等于1的立方加上5的立方加上3的立方之和。

  • 函数接口定义:isflower (n)          其中 n 是传入的参数,表示需要判断的三位数。 n 的值的范围为[100,999]。
  • 裁判测试程序样例:
/* 请在这里填写答案 */

n = eval(input())
if isflower(n)==True:
    print('Yes')
else:
    print('No') 
  • 输入样例: 371                  输出样例:Yes
def isflower(n):
    b=int(n%10)
    c=int((n/10)%10)
    d=int(n/100)
    if(b**3+c**3+d**3==n):
        return True
    else:
        return False

6-3 sdut-使用函数求区域内的素数之和

设计函数,求指定范围内的素数之和。        函数1:prime(p), 用户传入参数p,若它为素数时返回True,否则返回False.        函数2:PrimeSum(m,n),返回区间[m, n]内所有素数的和(其 中,1<=m

  • 函数接口定义:在这里解释接口参数。例如:其中 N 和 D 都是用户传入的参数。 N 的值不超过int的范围; D 是[0, 9]区间内的个位数。函数须返回 N 中 D 出现的次数。
prime(p),返回True表示p是素数,返回False表示p不是素数;
PrimeSum(m,n),函数返回素数之和。
  • 裁判测试程序样例:

/* 请在这里填写答案 */

m,n=input().split()
m=int(m)
n=int(n)
print(PrimeSum(m,n))
  • 输入样例: 1  10                 输出样例:17
def prime(p):
    flag = True; 
    for i in range(2,p):
        if p % i == 0:
            flag = False
            break
    return flag
def PrimeSum(m,n):
    sum=0
    for p in range(m+1,n+1):
        if prime(p):
            sum=sum+p
    return sum 

6-4 兔子繁殖

兔子繁殖问题。假设有一对新生的兔子,从第三个月开始他们每个月月初都生一对兔子,新生的兔子从第三个月月初开始又每个月又生一对兔子。按此规律,并假定兔子没有死亡,n(n<=20)个月月末共有多少对兔子?

  • 函数接口定义:rabit(n),n为第几个月
  • 裁判测试程序样例:n=int(input()) print(rabit(n))
  • 输入样例1: 3                输出样例1:2
  • 输入样例1: 5                输出样例1:5
def rabit(n):
    if n==1 or n==2:
        return 1
    a=1
    b=1
    c=2
    for i in range(n-2):
        a=b
        b=c
        c=a+b
    return b

你可能感兴趣的:(python,python,开发语言)