【python】——函数

🎃个人专栏:

🐬 算法设计与分析:算法设计与分析_IT闫的博客-CSDN博客

🐳Java基础:Java基础_IT闫的博客-CSDN博客

🐋c语言:c语言_IT闫的博客-CSDN博客

🐟MySQL:数据结构_IT闫的博客-CSDN博客

🐠数据结构:​​​​​​数据结构_IT闫的博客-CSDN博客

💎C++:C++_IT闫的博客-CSDN博客

🥽C51单片机:C51单片机(STC89C516)_IT闫的博客-CSDN博客

💻基于HTML5的网页设计及应用:基于HTML5的网页设计及应用_IT闫的博客-CSDN博客​​​​​​

🥏python:python_IT闫的博客-CSDN博客

🐠离散数学:离散数学_IT闫的博客-CSDN博客

欢迎收看,希望对大家有用!

目录

一. 程序题

1. (程序题, 15分)

2. (程序题, 20分)

二. 填空题(共4题,45分)

3. (填空题, 9分)

4. (填空题, 6分)

5. (填空题, 24分)

6. (填空题, 6分)

三. 简答题(共1题,20分)

7. (简答题, 20分)

🎯答案:

第一题:

第二题:

第三题:

第四题:

第五题:

第六题:

 第七题:


一. 程序题

1. (程序题, 15分)

编写函数,接收一个字符串,判断该字符串是否为回文。所谓回文是指从前向后读和从后向前读是一样的。例如:例如: 121是回文, 123454321是回文,abba是回文。(使用切片完成是否是回文的判断条件,切取字符串前一半和后一半比较是否相等) 

输入输出示例如下:

2. (程序题, 20分)

判断用户是否登录成功。

(1)系统里面有多个用户, 用户名和对应的密码信息保存在以下元组和列表里面:

userName = ("zhangsan","lisi","wangwu","zhaoliu","xiaolin","xiaohua")

pwList=['123','456','789','246','abc','abc1234']

用户名和密码的顺序是对应的,例如:zhangsan的密码是123,lisi的密码是456

(2)用户登录(判断用户登录是否成功):

①编写一个函数username_test判断用户是否存在?如果用户存在,返回用户索引;如果输入的用户不存在:重新输入用户名,总共有三次输入用户名的机会,三次输入都失败,退出程序。

②编写一个函数password_test判断用户密码是否正确? 根据存在的用户名返回的索引,用pwList[用户索引]取出该用户的密码与输入的密码对比,如果密码正确,登录成功, 退出程序;否则如果密码不正确:重新输入密码,总共有三次输入密码的机会,三次输入密码失败,退出程序。

③编写一个main函数,在其中创建用户名列表和密码列表,调用username_test函数,判断用户名是否存在,存在的话,返回用户名的索引,调用password_test判断用户输入的密码是否正确。 

二. 填空题(共4题,45分)

3. (填空题, 9分)

def Sum(a,b=3,c=5):

    return sum([a,b,c])

print(Sum(a=3,c=2))

print(Sum(8))

print(Sum(8,2))

4. (填空题, 6分)

编写一个猜数游戏,该游戏会随机产生一个数字,用户可以随意输入一个数进行比较,在比较过程中,会不断提示用户输入的数是大了还是小了,直到用户输入的数等于随机数或者用户猜够5次,程序终止。

请填空完善代码。

import random

import sys

def guess_num(n):

    if n>key:

        return "大了"

    elif n<key:

        return "小了"

    else:

        print("恭喜猜对了")

        sys.exit(0)

key=random.randint(1,100)

_______________

while True:

    if count<=5:

        x = int(input("num="))

        print(_______________)

        count=count+1

    else:

        print(f"很遗憾您5次都没有猜对,生成的数字是{key}")

        break

5. (填空题, 24分)

游戏角色管理。

请填空把代码填写完整。

import sys

print('*' * 40)

print('--------------游戏角色管理--------------')

print('1:查询角色')

print('2:添加角色')

print('3:修改角色')

print('4:删除角色')

print('5:显示所有角色')

print('-1:退出程序')

print('*' * 40)

# 角色列表.

roleList = [{"姓名": "刘备","单位": "蜀国","职务": "董事长兼总经理","武力": 6}]

_______(1)_______

  姓名 = input("请输入要查找角色的姓名: ")

  for role in roleList:

    if 姓名 == role['姓名']:

      print("姓名: %s, 单位: %s, 职务: %s, 武力: %3.1f." % (role['姓名'], role['单位'], role['职务'], role['武力']))

      break

  else:

    print('对不起。没有您要查找的角色!')

_______(2)_______

  姓名 = input('请输入姓名: ')

  for role in roleList:

    if 姓名 == role['姓名']:

      print("您所输入的角色已存在!")

      break

  else:

    单位 = input('请输入单位: ')

    职务 = input('请输入职务: ')

    武力 = float(input('请输入武力: '))

    newRole = {}

    newRole["姓名"] = 姓名

    newRole["单位"] = 单位

    newRole["职务"] = 职务

    newRole["武力"] = 武力

    roleList.append(newRole)

_______(3)_______

  姓名 = input('请输入要修改角色的姓名: ')

  for role in roleList:

    if role['姓名'] == 姓名:

      role['单位'] = input('请输入新的单位: ')

      role['职务'] = input('请输入新的职务: ')

      role['武力'] = float(input('请输入新的武力: '))

      print("修改角色成功!")

      break

  else:

    print('您要修改的角色不存在!')

_______(4)_______

  姓名 = input("请输入要删除角色的姓名: ")

  for role in roleList:

    if role['姓名'] == 姓名:

      roleList.remove(role)

      print("删除角色成功!")

      break

  else:

    print("您要删除的角色不存在!")

_______(5)_______

  for role in roleList:

    print("姓名: %s, 单位: %s, 职务: %s, 武力: %3.1f." % (role['姓名'], role['单位'], role['职务'], role['武力']))

_______(6)_______

  print('退出程序!')

  sys.exit(0)

while True:

  SN = int(input('===请输入操作序号: '))  # 输入操作序号.

  if SN in [1,2,3,4,5,-1]:

    if SN == 1:  # 查询角色.

      queryRole( )

    elif SN == 2:  # 添加新角色

      addRole( )

    elif SN == 3:  # 修改角色.

      modifyRole( )

    elif SN == 4:  # 删除角色.

      deleteRole( )

    elif SN == 5:  # 显示所有角色.

      displayAllRole( )

    else:           # 退出程序.

      exitP( )

  else:

    print("输入错误!请重新输入'-1,1-5'之间的操作序号!")

6. (填空题, 6分)

下面代码

def deco(func):

  def wrapper():

    print(f"before {func.__name__} called.")

    func()

    print(f"after {func.__name__} called.")

  return wrapper

_____(1)_______

def myfunc1():

  print("myfunc1() called.")

____(2)_______

def myfunc2():

  print("myfunc2() called")

myfunc1()

myfunc2()

请完成填空,使代码的执行结果如下:

before myfunc1 called.

myfunc1() called.

after myfunc1 called.

before myfunc2 called.

myfunc2() called

after myfunc2 called.

三. 简答题(共1题,20分)

7. (简答题, 20分)

编写程序产生彩票游戏超级大乐透的投注号码。

1.户输入投注的注数time,显示给用户time组号码。

2.编写函数实现投注号码的生成。

3.请把自己的代码填写到答案框,并截图自己的运行结果。输出结果的第一行

'软工某某班张三的大乐透号码生成器'字符串中的班级和姓名要改写为自己的班级姓名。

备注:

(1)超级大乐透基本投注是指从前区号码(红色球)中任选五个号码,并从后区号码(蓝色球)中任选两个号码的组合进行投注。

其中,前区号码由01—35共三十五个号码组成,后区号码由01—12共十二个号码组成。

(2)显示时,前区号码和后区号码分别按照从小到大的顺序显示

(3) random模块中的random.sample(seq,number)函数可以实现从样本空间seq中随机选择number个数字。

🎯答案:

第一题:

def a(string):
    l1 = len(string)//2
    first = string[:l1]
    second = string[:-l1-1:-1]
    if first == second:
        print(f"{string} 是回文")
    else:
        print(f"{string} 不是回文")
string1 = input("请输入字符串")
a(string1)

第二题:

def username_test():
    userName = ("zhangsan", "lisi", "wangwu", "zhaoliu", "xiaolin", "xiaohua")
    count = 0
    while count<3:
        userName1 =input("请输入用户名:")
        if userName1 in userName:
            return userName.index(userName1)
        else:
            print("用户不存在")
            count += 1
    print("用户名输入超过3次")
    exit(0)
def password_test(user_index):
    pwList = ['123', '456', '789', '246', 'abc', 'abc1234']
    count = 0
    while count < 3:
        password = input("请输入密码:")
        if password == pwList[user_index]:
            print("登录成功")
            exit(0)
        else:
            print("密码不正确")
            count+=1
    print("密码输入超过3次")
    exit(0)
def main():
    index1 = username_test()
    password_test(index1)
if __name__ =="__main__":
    main()

第三题:

(1) 8

(2) 16 

(3) 15

第四题:

(1) count=1;count = 1

(2) guess_num(x);f"{guess_num(x)}"

第五题:

(1)def queryRole():

(2) def addRole():

(3) def modifyRole():

(4) def deleteRole():

(5) def displayAllRole():

(6) def exitP():

第六题:

(1) @deco

(2) @deco

 第七题:

import random

def Great_lotto(times):

    Greatnumber = []

    for i in range(0,times):

        numbers = []

        redbubble_list = list(range(1,36))

        number_red = random.sample(redbubble_list,5)

        bluebubble_list = list(range(1,13))

        number_blue = random.sample(bluebubble_list,2)

        number_red.sort()

        number_blue.sort()

        numbers = number_red+number_blue

        for n in range(len(numbers)):

            if numbers[n]<10:

                numbers[n] = '0'+str(numbers[n])

        Greatnumber.append(numbers)

    return Greatnumber



print('软工某某班张三的大乐透号码生成器')

time = input('请输入要生成的大乐透号码注数:')

Greatnumber = Great_lotto(int(time))

for i in range(0,int(time)):

    print(Greatnumber[i][0],Greatnumber[i][1],Greatnumber[i][2],Greatnumber[i][3],

          Greatnumber[i][4],Greatnumber[i][5],Greatnumber[i][6])




for i in range(0,int(time)):

#     for j in range(7):

#         if j!=6:

#             print(f"{Greatnumber[i][j]}",end=" ")

#         else:

#             print(f"{Greatnumber[i][j]}")

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/215632.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【改进YOLOV8】融合动态蛇形卷积&DCNV2的草莓分级分割分割系统

1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 研究背景与意义 随着计算机视觉技术的不断发展&#xff0c;图像分割成为了一个重要的研究领域。图像分割可以将图像中的不同对象或区域进行分离&#xff0c;从而更好地理解图像内…

在 App 设计工具的代码视图中管理代码

目录 管理组件、函数和属性 识别代码中的可编辑部分 编写 App 管理 UI 组件 管理回调 在 App 中共享数据 在多个位置运行的单一源代码 创建输入参数 为您的 App 添加帮助文本 限制您的 App 一次只运行一个实例 修复代码问题和运行时错误 个性化代码视图外观 更改颜…

线程的使用1

1. 创建一个线程 1.1 创建线程练习 线程实际上是应用层的概念&#xff0c;在 Linux 内核中&#xff0c;所有的调度实体都被称为任务 (task) &#xff0c; 他们之间的区别是&#xff1a;有些任务自己拥有一套完整的资源&#xff0c;而有些任务彼此之间共享一套资源 对此函数的使…

【C++】简单的C++程序编译

一、简单的C程序 //prog.cc int main() {return 0; }二、编译 1. win11命令终端 cc prog.cc 2. win11 Visual Studio命令终端 cl /EHsc /W4 prog.cc 3. GNU编译器 g -Wall -o prog prog.cc 三、运行 1.win11 prog 2.Unix/Linux ./prog 四、查看返回值 1.win11 路…

本地存储与复杂数据类型转换

1. 本地存储介绍 2.1 本地存储分类 - localStorage // 存储一个名字localStorage.setItem(uname, abc)// 获取名字console.log(localStorage.getItem(uname));// 删除本地存储 只删名字// localStorage.removeItem(uname)// 改localStorage.setItem(uname, aaa)// 存一个年龄 …

网络运维与网络安全 学习笔记2023.11.30

网络运维与网络安全 学习笔记 第三十一天 今日目标 实现AP自动注册、配置WLAN业务参数、无线终端通过wifi互访 实现AP自动注册 项目背景 企业内网的大量AP已经通过DHCP的方式获得IP地址 为了实现后期大量AP的统一管理&#xff0c;希望通过AC实现集中控制 在AC设备上&#…

企业培训私有化解决方案PlayEdu

本文应网友 林枫 的要求而折腾&#xff1b; 什么是 PlayEdu &#xff1f; PlayEdu 是一款适用于搭建内部培训平台的开源系统&#xff0c;旨在为企业/机构打造自己品牌的内部培训平台。PlayEdu 基于 Java MySQL 开发&#xff1b;采用前后端分离模式&#xff1b;前端采用 React1…

idea保存时自动删除不用的import

1、File->setting 2、Editor->General->Auto Import 按照操作&#xff0c;即可实现&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;

关于开展人工智能专业人员“自然语言及语音处理设计开发工程师”专项培训的通知

“人工智能技术与咨询”发布 工业与信息化部电子工业标准化研究院于2022年7月1日发布《人工智能从业技术人员要求》&#xff0c;现针对已发布标准于1月3日至7日在北京举办《自然语言与语音处理设计开发工程师》中级人才培养&#xff0c;下边是具体文件通知请大家查阅。行业人才…

关于开展人工智能专业人员“计算机视觉处理设计开发工程师”专项培训的通知

“人工智能技术与咨询”发布 工业与信息化部电子工业标准化研究院于2022年7月1日发布《人工智能从业技术人员要求》&#xff0c;现针对已发布标准于1月3日至7日在北京举办《自然语言与语音处理设计开发工程师》中级人才培养&#xff0c;下边是具体文件通知请大家查阅。行业人才…

【c】课程满意度计算

我们不好直接比较二维数组中任意多个元素的值是否相等&#xff0c;我们可以创建一维数组&#xff0c;首先将一维数组的值全部设为0&#xff0c;一维数组的下标代表你喜欢课程的量&#xff0c;一维数组的各个元素的值代表你喜欢的次数 例如 你输入3 5&#xff0c;代表你喜欢第三…

Rust 语言:认识 Rust

本心、输入输出、结果 文章目录 Rust 语言&#xff1a;认识 Rust前言Rust的特点Rust LOGO Rust 在IT行业的应用前景Rust 是一门系统级编程语言相关链接花有重开日&#xff0c;人无再少年实践是检验真理的唯一标准 Rust 语言&#xff1a;认识 Rust 编辑&#xff1a;简简单单 Onl…

线程的使用2

3. 利用管道实现互相的发收通信 jack.c #include<stdio.h> #include<stdlib.h> #include<string.h> #include<unistd.h> #include<sys/types.h> #include<sys/stat.h> #include<fcntl.h> #include <pthread.h>//有名管道进程间…

深圳招聘一般在哪个网站

深圳吉鹿力招聘网是一个专注于深圳招聘的平台&#xff0c;主要提供人才招聘服务。在深圳吉鹿力招聘网上&#xff0c;你可以找到各种深圳招聘信息&#xff0c;包括企业招聘、职位发布、简历投递等。深圳吉鹿力招聘网的出现&#xff0c;方便了求职者的投递和查询工作机会&#xf…

2023年江西省“振兴杯”网络信息行业职业技能竞赛 Web4 Writeup

这次振兴杯碰到的一道题&#xff0c;某些姿势之前貌似没有碰过&#xff0c;简单记一下吧 源码 <?php class Bird{public $funcs;public $salt;public $flag;function say_flag(){$secret hash_hmac(sha256, $_GET[salt], file_get_contents(/flag));$hmac hash_hmac(sha…

开源数据大屏系统介绍

睿思BI数据大屏系统现已开源&#xff0c;通过拖拽配置的方式构建大屏&#xff0c;支持零代码开发。并且包含大量大屏模版&#xff0c;方便用户快速创建大屏应用。 系统主要包括数据准备、大屏设计、权限管理3个部分内容。 1.数据准备 1.1 创建数据源&#xff1a;定义BI系统链…

PHP使用HTTP代码示例模板

PHP是一种广泛用于服务器端的编程语言&#xff0c;它提供了许多内置的函数和扩展&#xff0c;以便开发人员能够轻松地处理HTTP请求和响应。在PHP中&#xff0c;您可以使用以下代码示例模板来处理HTTP请求和生成HTTP响应。 php复制代码 <?php // 处理GET请求 if ($…

计算机组成学习-存储系统总结

复习本章时&#xff0c;思考以下问题&#xff1a; 1)存储器的层次结构主要体现在何处&#xff1f;为何要分这些层次&#xff1f;计算机如何管理这些层次&#xff1f;2)存取周期和存取时间有何区别&#xff1f;3)在虚拟存储器中&#xff0c;页面是设置得大一些好还是设置得小一…

园区无线覆盖方案(智慧园区综合解决方案)

​ 李经理正苦恼头疼的工业园区数字化改造项目。近年企业快速增长,园区内Argent工业设备激增,IT部门应接不暇。为确保生产系统稳定运行,IT管理团队经过反复摸索,决定进行全面的数字化升级。然而改造之艰巨远超想象——混杂的接入环境、复杂的专线部署、长达数月的建设周期,种种…

法律情境扮演、逆向推理文字游戏、AIGC创作……见证AI极致生产力!

飞桨星河社区&#xff0c;以飞桨和文心大模型为核心&#xff0c;集开放数据、开源算法、云端GPU算力及大模型开发工具于一体&#xff0c;在大模型范式下&#xff0c;为开发者提供模型与应用的高效开发环境。在成立的5年以来&#xff0c;已汇集660万AI开发者&#xff0c;覆盖深度…