当前位置: 首页 > news >正文

Python期末复习题:函数

Python期末复习题:函数

文章目录

  • 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

相关文章:

  • treeSelect树组件设置父节点禁用
  • Vue使用axios进行get请求拼接参数的两种方式
  • STM32存储器组织-STM32存储器映像-嵌入式SRAM-STM32位段-嵌入式闪存-STM32启动配置
  • session共享问题及四种解决方案-前端存储、session的复制 、session粘性、后端存储(Mysql、Redis等)
  • 算法篇-------贪心2
  • Python图像处理笔记
  • 基于51单片机的舞蹈机器人四路步进电机控制仿真
  • 8、如何使用FactoryBean向Spring容器中注册bean?
  • 知识蒸馏 | YOLOv7知识蒸馏实战篇 | 2/2*
  • MySQL纯代码复习(上)
  • [附源码]Python计算机毕业设计白果园网上水果超市
  • 【JVM】java的jvm类加载器和类加载子系统
  • 正则表达式(常用最新版)
  • NX二次开发-调内部函数SEL_set_type_filter_index_by_label设置类型过滤器例子剖析怎么查找内部函数调用内部函数
  • 李峋同款爱心代码
  • 实现windows 窗体的自己画,网上摘抄的,学习了
  • 5分钟即可掌握的前端高效利器:JavaScript 策略模式
  • 8年软件测试工程师感悟——写给还在迷茫中的朋友
  • Asm.js的简单介绍
  • Debian下无root权限使用Python访问Oracle
  • input的行数自动增减
  • Java,console输出实时的转向GUI textbox
  • java8-模拟hadoop
  • JavaScript新鲜事·第5期
  • JS变量作用域
  • oschina
  • PV统计优化设计
  • Python - 闭包Closure
  • rc-form之最单纯情况
  • Vue 2.3、2.4 知识点小结
  • Vue ES6 Jade Scss Webpack Gulp
  • Webpack入门之遇到的那些坑,系列示例Demo
  • 程序员最讨厌的9句话,你可有补充?
  • 七牛云 DV OV EV SSL 证书上线,限时折扣低至 6.75 折!
  • 山寨一个 Promise
  • 使用API自动生成工具优化前端工作流
  • 我建了一个叫Hello World的项目
  • 云栖大讲堂Java基础入门(三)- 阿里巴巴Java开发手册介绍
  • 正则与JS中的正则
  • C# - 为值类型重定义相等性
  • Semaphore
  • 阿里云ACE认证之理解CDN技术
  • ​ubuntu下安装kvm虚拟机
  • # 飞书APP集成平台-数字化落地
  • #android不同版本废弃api,新api。
  • (NO.00004)iOS实现打砖块游戏(十二):伸缩自如,我是如意金箍棒(上)!
  • (强烈推荐)移动端音视频从零到上手(下)
  • (十二)python网络爬虫(理论+实战)——实战:使用BeautfulSoup解析baidu热搜新闻数据
  • (一)python发送HTTP 请求的两种方式(get和post )
  • (一)搭建springboot+vue前后端分离项目--前端vue搭建
  • (转) 深度模型优化性能 调参
  • (转)总结使用Unity 3D优化游戏运行性能的经验
  • ./mysql.server: 没有那个文件或目录_Linux下安装MySQL出现“ls: /var/lib/mysql/*.pid: 没有那个文件或目录”...
  • .bat文件调用java类的main方法
  • .Net Attribute详解(上)-Attribute本质以及一个简单示例