PTA Python作业6函数

目录

判断题

函数题

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

6-2 兔子繁殖

编程题

7-1 判断用户输入的是否是小写字母和数字

7-2 求最小公倍数


判断题

1-1模块化设计程序时,尽可能使功能块内部耦合紧密,功能块之间耦合度低。(T)

1-2函数定义时,可以有多条return语句,但每调用一次该函数只会执行其中一条return。(T)

1-3Python 函数名与变量命名规则一样。(T)

1-4可以从程序中的任何位置访问局部变量。(F)

1-5Python允许将多个参数传递给函数。(T)

1-6要给函数中的全局变量赋值,必须首先在函数中声明全局变量。(T)

1-7定义函数时,函数形参不需要声明其类型,也不需要指定函数的返回值类型。(T)

1-8Lambda表达式只可以包含一个表达式,不允许包含其他复杂语句,但在表达式中可以调用其他函数,该表达式的计算结果相当于函数返回值。(T)

1-9在Python中,函数定义必须在函数调用之前。(T)

1-10在函数中可以没有return语句。(T)

单选题

2-1以下选项不是Python语言关键字的是:

A.function

B.return

C.def

D.import

2-2以下关于函数定义的描述错误的是:

A.函数必须有返回值

B.函数使用return给出返回值

C.函数定义中可以指定无限多个参数

D.函数定义中可以为某些参数指定默认值

2-3以下关于函数作用的描述错误的是:

A.提高代码执行速度

B.复用代码

C.增强代码的可读性

D.降低编程复杂度

2-4调用以下函数返回的值

def myfun():
    pass

A.0

B.出错不能运行

C.None

D.空字符串

2-5导入模块的方式错误的是

A.import mo

B.from mo import *

C.import m from mo

D.import mo as m

2-6下列有关函数的说法中,正确的是( )。

A.函数的定义必须在程序开头

B.函数定义后,其中的程序就可以自动执行

C.函数体与关键字def必须左对齐

D.函数定义后需要调用才会执行

2-7使用( )关键字声明匿名函数。

A.def

B.lambda

C.func

D.function

2-8关于lambda函数,以下选项中描述错误的是()。

A.定义了一种特殊的函数

B.lambda函数将函数名作为函数结果返回

C.lambda函数也称为匿名函数

D.lambda不是Python的保留字

2-9在一个函数中如局部变量和全局变量同名,则_________________。

A.局部变量屏蔽全局变量

B.全局变量屏蔽局部变量

C.全局变量和局部变量都不可用

D.程序错误

2-10Python语言中的自定义函数若未用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):
    b = a
    i = 0
    sums = 0
    while i

6-2 兔子繁殖

作者 陶灵兵

单位 浙江理工大学

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

函数接口定义:

函数接口:
rabit(n),n为第几个月

裁判测试程序样例:

n=int(input())
print(rabit(n))

输入样例1:

在这里给出一组输入。例如:

3

输出样例1:

在这里给出相应的输出。例如:

2

输入样例2:

在这里给出一组输入。例如:

5

输出样例2:

在这里给出相应的输出。例如:

5
def rabit(n):
    if n==1 or n==2:
        return 1
    else:
        return rabit(n-1)+rabit(n-2)

编程题

7-1 判断用户输入的是否是小写字母和数字

作者 吴俊华

单位 曲阜师范大学

编写一个函数,用于判断用户输入的字符串是否由小写字母和数字构成。

输入格式:

输入一个字符串

输出格式:

如果输入的字符串由小写字母和数字构成,输出“全是数字和小写字母”,否则输出”不全是数字和小写字母“

输入样例1:

在这里给出一组输入。例如:

abc123

输出样例1:

在这里给出相应的输出。例如:

全是数字和小写字母

输入样例2:

在这里给出一组输入。例如:

*jf45

输出样例2:

在这里给出相应的输出。例如:

不全是数字和小写字母
def panduan(x):
    if 97<=ord(x)<=122 or 49<=ord(x)<=57:
        return 2
    else:
        return 0
s = input()
itex = 0
for i in s:
    if panduan(i)==2:
        itex+=0
    else:
        itex+=1
if itex==0:
    print("全是数字和小写字母")
else:
    print("不全是数字和小写字母")
'''s = input()
itex = 0
for i in s:
    if 97<=ord(i)<=122 or 49<=ord(i)<=57:
        itex+=0
    else:
        itex+=1
if itex==0:
    print("全是数字和小写字母")
else:
    print("不全是数字和小写字母")'''
'''def panduan(x):
    if 97<=ord(x)<=122 or 49<=ord(x)<=57:
        return 1
    else:
        return 0
s = input()
itex = 0
for i in s:
    if panduan(i)==0:
        itex+=1
    else:
        itex==itex
if itex==0:
    print("全是数字和小写字母")
else:
    print("不全是数字和小写字母")
'''

7-2 求最小公倍数

作者 wjh

单位 曲阜师范大学

从键盘输入两个整数a、b,编写函数lcm(a,b),求a和b的最小公倍数,并调用函数,输出最小公倍数。

输入格式:

从键盘输入两个整数a和b。

输出格式:

输出a、b的最小公倍数。

输入样例:

在这里给出一组输入。例如:

6
9

输出样例:

在这里给出相应的输出。例如:

6和9的最小公倍数为18
def lcm(a,b):
    a,b = min(a,b),max(a,b)
    i = 1
    while 1:
        if i*b%a==0:
            return i*b
        i+=1
a = eval(input())
b = eval(input())
x=lcm(a,b)
print(f"{a}和{b}的最小公倍数为{x}")

你可能感兴趣的:(python)