目录
判断题
函数题
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.不确定
作者 周雪芹
单位 山东理工大学
给定两个均不超过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
作者 陶灵兵
单位 浙江理工大学
兔子繁殖问题。假设有一对新生的兔子,从第三个月开始他们每个月月初都生一对兔子,新生的兔子从第三个月月初开始又每个月又生一对兔子。按此规律,并假定兔子没有死亡,n(n<=20)个月月末共有多少对兔子?
函数接口:
rabit(n),n为第几个月
n=int(input())
print(rabit(n))
在这里给出一组输入。例如:
3
在这里给出相应的输出。例如:
2
在这里给出一组输入。例如:
5
在这里给出相应的输出。例如:
5
def rabit(n):
if n==1 or n==2:
return 1
else:
return rabit(n-1)+rabit(n-2)
作者 吴俊华
单位 曲阜师范大学
编写一个函数,用于判断用户输入的字符串是否由小写字母和数字构成。
输入一个字符串
如果输入的字符串由小写字母和数字构成,输出“全是数字和小写字母”,否则输出”不全是数字和小写字母“
在这里给出一组输入。例如:
abc123
在这里给出相应的输出。例如:
全是数字和小写字母
在这里给出一组输入。例如:
*jf45
在这里给出相应的输出。例如:
不全是数字和小写字母
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("不全是数字和小写字母")
'''
作者 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}")