zl程序教程

您现在的位置是:首页 >  后端

当前栏目

Python期末复习题:函数

Python 函数 期末
2023-09-11 14:22:10 时间

Python期末复习题:函数

一、计算多个月份的平均访客量

设计函数,实现计算多个月份的平均访客量(为了完成本作业,你需要掌握:1.可变参数,2.遍历元组和列表)。根据提示,请补充下面的代码:

data=[200,388,123,456,987,342,767,234,124,345,123,234]

# 设计specifty函数的参数以及函数的功能,以实现计算任意月份的平均访客量

# *************begin************#

def specifty(   ):

# **************end*************#  
specifty(1,2,3,4) #计算2-5月的平均访客量,预期输出是488.50
specifty(10,9,8,7,6)  #计算11-7月的平均访客量,预期输出是318.60
data=[200,388,123,456,987,342,767,234,124,345,123,234]

def specifty(*args):
    sum = 0
    for month in args:
        sum += data[month]
    avg = sum / len(args)
    print(avg)
specifty(1,2,3,4) 
specifty(10,9,8,7,6)  

运行的结果是:

488.5
318.6

二、实现需要的输出

设计函数参数,编写函数代码实现需要的输出(为了完成本作业,你需要掌握:1.关键字参数 2.字典的遍历)。

测试说明:

测试输入: 预期输出:

name Alice

city GL

name Bob

gender M

job Teacher

编程要求

根据上面测试用例的输出,补充下面的代码:

#根据main函数以及输出设计person函数的参数以及函数的功能

# *************begin************#

def person( ):

# **************end*************#  

def main():

    person('Alice',city='GL')

    person('Bob',gender='M',job='Teacher')

if __name__=='__main__':

    main()
def person(name, city='', gender='', job='') :
    if city:
        message = f"name {name}\ncity {city}"
        print(message)
    elif gender and job:
        message = f"name {name}\ngender {gender}\njob {job}"
        print(message)


def main():

    person('Alice',city='GL')

    person('Bob',gender='M',job='Teacher')

if __name__=='__main__':

    main()

运行的结果是:

name Alice
city GL
name Bob
gender M
job Teacher

三、自除数

编写函数输出自除数。一个不含0的数,如果它能被它的每一位除尽,则它是一个自除数。例如128是一个自除数,因为128能被1、2、8整除。编写函数selfDivisor(num)判断num是否为自除数,使用该函数输出不大于N的所有自除数。‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬(注意,含有数字0的数不是自除数)要求:输入是一个正整数N,输出是一行,是不大于N的所有自除数,每个数后面有一个空格。例如:

输入:22

输出:1 2 3 4 5 6 7 8 9 11 12 15 22

def selfDivisor(num):
    t=str(num)
    if '0' in t:
        return 0
    for i in t:
        if num % int(i) != 0:
            return 0
    return 1
    
n=int(input())
ls=[]
for i in range(1, n + 1):
    if selfDivisor(i):
        print(i, end=" ")

运行的结果是:

22
1 2 3 4 5 6 7 8 9 11 12 15 22

四、字母查找

定义一个函数来判断单词m是否可以由字符串n中出现的字母来组成。‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬本题保证字符串中出现的字母均为小写字母,且不考虑n中字母使用次数。定义一个函数来判断单词m是否可以由字符串n中出现的字母来组成。

‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬要求输入时在两行中分别输入两个字符串m,n‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬,如果m,n 满足条件,则输出’FOUND‘ ,否则输出’NOT FOUND’‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬。如果输入的m包含有除字母外的其他字符,输出’ERROR‘结束。

示例 1‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

输入:

word

world

输出:FOUND

示例 2

‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬输入:

1a

输出:

ERROR

示例 3‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

输入:

at

bcda

输出:

NOT FOUND

def fd(m, n):
    for i in m:
        if i not in n:
            return 'NOT FOUND'
    return 'FOUND'

m = input()
if m.isalpha():
    n=input()
    print(fd(m, n))
else:
    print('ERROR')

运行的结果是:

word
world
FOUND
1a
ERROR
at 
bcda
NOT FOUND