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

【Python】牛客网—软件开发-Python专项练习

专栏文章索引:Python

1.(单选)下面哪个是Python中不可变的数据结构?

A.set        B.list        C.tuple        D.dict

        可变数据类型:列表list[ ]、字典dict{ }、集合set{ }(能查询,也可更改)数据发生改变,但内存地址不变

        不可变数据类型:整型int、字符串str' '、元组tuple( )(只能查询,不可更改)当该数据类型的对应变量的值发生了改变,那么它对应的内存地址也会改变

2.(单选)在Python3中。程序语句结果为:

strs = 'abbacabb'
print(strs.strip('ab'))

A.'ab'        B.语法错误        C.'c'        D'ca'

        strip方法匹配两侧所有的不符合条件的字符(括号内指定字符串中的每个字符)

        'ab'表示的是一种集合,这里是指:[ab,ba,aa,bb,aaa,bbb,abb,baa]等;strs两端,只要是包含了上述集合中的任何一个,都删除。

        注意:是匹配两端的字符(串),如果大于一个,是字符的组合集合

下面是几个案例:

strs = 'acaba'
print(strs.strip('a'))# cab
strs = 'acaba'
print(strs.strip('b'))# acaba
strs = 'acaba'
print(strs.strip('abc'))# 
strs = 'acaba'
print(strs.strip('abb'))# c

abb跟ab一样,不要用重复的字符

3.(单选)在python3中,下列程序结果为:

dicts = {'one': 1, 'two': 2, 'three': 3}
print(dicts['one'])
print(dicts['four'])

A.1,[]        B.1,{}        C.1,报错        D.1,None

        在python3中,访问字典的元素主要是依靠字典的key,因此 print(dicts['one']) 的结果为 1;但如果用字典里没有的键访问数据,会报出错误信息

4.(单选)下列程序运行结果为:

a=[1, 2, 3, 4, 5]
sums = sum(map(lambda x: x + 3, a[1::3]))
print(sums)

A.10        B.13        C.15        D.17

我们先来了解一下map函数:

map( )函数

在Python中,map()函数是一个内置的高阶函数,它接收一个函数和一个可迭代对象(比如列表)作为输入,然后将该函数应用于可迭代对象中的每个元素,返回一个新的迭代器(在Python 3中返回的是迭代器对象,而不是列表)。

map()函数的语法如下:        

map(function, iterable, ...)

其中,function是应用于每个元素的函数,iterable是一个或多个可迭代对象。

示例:

# 将列表中的每个字符串转换为大写
words = ['hello', 'world', 'python']
uppercase = map(str.upper, words)
print(list(uppercase))  # 输出:['HELLO', 'WORLD', 'PYTHON']

在上面的示例中,map()函数应用了str.upper函数到列表中的每个元素上。

我们再来了解一下匿名函数

lambda函数

匿名函数,也称为lambda函数,是一种在Python中创建小型、一次性的、可读性较高的函数的方式。它们使用lambda关键字定义,不需要使用def关键字,并且可以在需要函数的地方直接使用。

匿名函数的基本语法如下:

lambda arguments: expression

其中,arguments是函数的参数,expression是函数的返回值。

示例:

# 定义一个匿名函数,计算两个数的和
add = lambda x, y: x + y
print(add(3, 5))  # 输出:8

在上面的示例中,我们定义了一个匿名函数来计算两个数的和

字符串切片

a[1::3] 是Python中用于切片(slice)操作的语法。这表示从索引1开始,以步长3选择列表(或其他可迭代对象)中的元素。

具体解释如下:

  • a: 列表或可迭代对象。
  • [1::3]: 从索引1开始,以步长3选择元素。

例如:

a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
result = a[1::3]
print(result)

输出:

[1, 4, 7]

在这个例子中,a[1::3]选择了从索引1开始,以步长3的方式取得列表中的元素,即索引1、4和7的元素。

sum函数

在Python中,sum()函数是一个内置函数,用于计算可迭代对象(如列表、元组等)中所有元素的总和。sum()函数的语法如下:

sum(iterable, start=0)

其中,iterable是可迭代对象,而start是可选参数,表示求和的初始值,默认为0。

示例:

# 计算列表中所有元素的和
numbers = [1, 2, 3, 4, 5]
total = sum(numbers)
print(total)  # 输出:15# 指定初始值为10进行求和
total_with_start = sum(numbers, start=10)
print(total_with_start)  # 输出:25

在上面的示例中,sum()函数用于计算列表numbers中所有元素的和,并且演示了如何使用可选的start参数指定初始值。

sum(numbers, start=10) 是使用了sum()函数的另一种形式,其中指定了可选参数 start 的值为 10。这表示在计算列表 numbers 中所有元素的总和时,初始值为 10。

具体解释如下:

  • numbers: 列表或可迭代对象,包含要求和的元素。
  • start=10: 可选参数,表示求和的初始值,默认为 0,但在这里被指定为 10。

示例:

numbers = [1, 2, 3, 4, 5]# 使用 sum() 函数,初始值为 0(默认)
total_default_start = sum(numbers)
print(total_default_start)  # 输出:15# 使用 sum() 函数,初始值为 10
total_with_start = sum(numbers, start=10)
print(total_with_start)  # 输出:25

在这个例子中,第一个 sum() 调用没有指定初始值,因此默认为 0,而第二个调用指定了初始值为 10。

5.(单选)下面这段程序的功能是什么?

def f(a, b):if b == 0:return aelse:return f(b, a%b)a, b = input(“Enter two natural numbers: ”)
print f(a, b)

A.求AB最大公约数        B.求AB最小公倍数        C.求A%B        D.求A/B

a % b 是求余数

辗转相除法,又称欧几里得算法,以除数和余数反复做除法运算,当余数为 0 时,取当前算式除数为最大公约数

6.(单选)对于下面的python3函数,如果输入的参数n非常大,函数的返回值会趋近于以下哪一个值(选项中的值用Python表达式来表示)

import random 
def foo(n):   random.seed()c1 = 0c2 = 0for i in range(n):x = random.random()y = random.random()r1 = x * x + y * yr2 = (1 - x) * (1 - x) + (1 - y) * (1 - y)if r1 <= 1 and r2 <= 1:c1 += 1else:c2 += 1return   c1 / c2

8.执行以下程序,输出结果为()

def outer(fn):print('outer')def inner():print('inner')return fnreturn inner@outer
def fun():print('fun')

A.outer        B.inner        C.fun        D.因为没有调用任何函数,所以没有输出结果

装饰器的一个关键特性是,它在被装饰函数定义后被立即执行,因此运行装饰函数outer,输出结果为outer,内部函数inner没有调用,不会输出任何结果,被装饰函数同样也不会运行。

参考文章:装饰器函数

def outer(fn):print('outer')def inner():print('inner')return fnreturn inner@outer
def fun():print('fun')fun()"""
outer
inner
"""

9.在python3中关键字 pass 的使用,则:

for i in range(5):if i == 2:passprint(i)

A.1,2,3,4,5        B.0,1,2,3,4        C.0,1,3,4        D.0,1,2,3,4,5

在Python3中,pass是空语句,是为了保持程序结构的完整性,不做任何事情,一般用做占位语句

因此程序打印的数字为 0,1,2,3,4,注意range(5) 生成的列表是从0开始到4,不包含5

10.(多选)Python中函数是对象,下列描述正确的有?

A.函数可以赋值给一个变量        B.函数可以作为元素添加到集合对象中        

C.函数可以作为参数值传递给其它函数        D.函数可以当做函数的返回值

在 Python 中万物皆为对象,函数也不例外,函数作为对象可以赋值给一个变量、可以作为元素添加到集合对象中、可作为参数值传递给其它函数,还可以当做函数的返回值,这些特性就是第一类对象所特有的。

详情请参考:

https://www.cnblogs.com/smallmars/p/6936871.html


相关文章:

【Python】牛客网—软件开发-Python专项练习

专栏文章索引&#xff1a;Python 1.&#xff08;单选&#xff09;下面哪个是Python中不可变的数据结构&#xff1f; A.set B.list C.tuple D.dict 可变数据类型&#xff1a;列表list[ ]、字典dict{ }、集合set{ }(能查询&#xff0c;也可更改)数据发生改…...

HBase分布式数据库的原理和架构

一、HBase简介 HBase是是一个高性能、高可靠性、面向列的分布式数据库&#xff0c;它是为了在廉价的硬件集群上存储大规模数据而设计的。HBase利用Hadoop HDFS作为其文件存储系统&#xff0c;且Hbase是基于Zookeeper的。 二、HBase架构 *图片引用 Hbase采用Master/Slave架构…...

c#类属性与字段例说说

在C#中&#xff0c;类属性&#xff08;Properties&#xff09;和字段&#xff08;Fields&#xff09;是两种用于存储和访问数据的机制。 属性是一种特殊的方法&#xff0c;通过使用get和set访问器来定义&#xff0c;用于读取和写入类的私有字段。属性可以提供对字段的封装&…...

Linux Centos系统 磁盘分区和文件系统管理 (深入理解)

CSDN 成就一亿技术人&#xff01; 作者主页&#xff1a;点击&#xff01; Linux专栏&#xff1a;点击&#xff01; CSDN 成就一亿技术人&#xff01; 前言———— 磁盘 在Linux系统中&#xff0c;磁盘是一种用于存储数据的物理设备&#xff0c;可以是传统的硬盘驱动器&am…...

华为配置ISP选路实现报文按运营商转发

CLI举例&#xff1a;配置ISP选路实现报文按运营商转发 介绍通过配置ISP选路实现报文按运营商转发的配置举例。 组网需求 如图1所示&#xff0c;FW作为安全网关部署在网络出口&#xff0c;企业分别从ISP1和ISP2租用一条链路。 企业希望访问Server 1的报文从ISP1链路转发&#…...

软件测试APP完整测试作业流程(附流程图),公司级软件测试流程化办公

目录 1. 概述 2. 软件测试流程 3. 软件测试周期人员活动图 4. 总结 1. 概述 1.1 目的 有效的保证软件质量&#xff1b; 有效的制定不同测试类型&#xff08;软件系统测试、音频主观性测试、Field Trial、专项测试、自动化测试、性 能测试、用户体验测试&#xff09;的软件…...

搭建交换机模拟环境及SSH连接,华为NSP软件入门使用教程

搭建交换机模拟环境及SSH连接&#xff0c;华为NSP软件入门使用教程 如果你是通过搜索搜到了这篇文章&#xff0c;那么一定是工作或者学习中需要用交换机&#xff0c;但是又没物理机测试学习&#xff0c;所以需要搭建本地的虚拟环境学习。 这篇文章是我进行交换机命令入门学习写…...

mineadmin 快速安装部署(docker环境)

前提条件&#xff1a;已安装docker 一、下载dnmp环境包 github地址&#xff1a;https://github.com/tomorrow-sky/dnmp gitee地址&#xff1a; https://gitee.com/chenjianchuan/dnmp 二、看一下dnmp包目录结构 三、打开docker-compose.yml 文件&#xff0c;将不需要…...

【力扣刷题练习】93. 复原 IP 地址

题目描述&#xff1a; 有效 IP 地址 正好由四个整数&#xff08;每个整数位于 0 到 255 之间组成&#xff0c;且不能含有前导 0&#xff09;&#xff0c;整数之间用 ‘.’ 分隔。 例如&#xff1a;“0.1.2.201” 和 “192.168.1.1” 是 有效 IP 地址&#xff0c;但是 “0.011…...

linux查看文件内容cat,less,vi,vim

学习记录 目录 catlessvi vim cat 输出 FILE 文件的全部内容 $ cat [OPTION] FILE示例 输出 file.txt 的全部内容 $ cat file.txt查看 file1.txt 与 file2.txt 连接后的内容 $ cat file1.txt file2.txt为什么名字叫 cat&#xff1f; 当然和猫咪没有关系。 cat 这里是 co…...

【恒源智享云】conda虚拟环境的操作指令

conda虚拟环境的操作指令 由于虚拟环境经常会用到&#xff0c;但是我总忘记&#xff0c;所以写个博客&#xff0c;留作自用。 在恒源智享云上&#xff0c;可以直接在终端界面输入指令&#xff0c;例如&#xff1a; 查看已经存在的虚拟环境列表 conda env list查看当前虚拟…...

Flask python 开发篇:项目布局

一、背景简介 Flask应用程序可以像单个文件一样简单。就像上一篇简单实现一个接口一样&#xff0c;所有的东西都在一个python文件内&#xff1b; 然而&#xff0c;当项目越来越大的时候&#xff0c;把所有代码放在单个文件中就有点不堪重负了。 Python 项目使用 包 来管理代码…...

docker 部署prometheus+grafana

首先进行部署docker 配置阿里云依赖&#xff1a; curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo # 配置centos 7的镜像源 yum install -y yum-utils device-mapper-persistent-data lvm2 # 安装一些后期或需要的的一下依…...

RNN实战

本主要是利用RNN做多分类任务&#xff0c;在熟悉RNN训练的过程中&#xff0c;我们可以理解 1&#xff09;超参数 batch_size和pad_size对训练过程的影响。 2&#xff09;文本处理过程中是如何将文本的文字表示转化为向量表示 3&#xff09;RNN梯度消失和序列长度的关系 4&#…...

从GPT入门,到R语言基础与作图、回归模型分析、混合效应模型、多元统计分析及结构方程模型、Meta分析、随机森林模型及贝叶斯回归分析综合应用等专题及实战案例

目录 专题一 GPT及大语言模型简介及使用入门 专题二 GPT与R语言基础与作图&#xff08;ggplot2&#xff09; 专题三 GPT与R语言回归模型&#xff08;lm&glm&#xff09; 专题四 GPT与混合效应模型&#xff08;lmm&glmm&#xff09; 专题五 GPT与多元统计分析&…...

【Android】数据安全(一) —— Sqlite加密

目录 SQLCipherSQLiteCrypt其它 SQLCipher SQLCipher 是 SQLite 数据库的的开源扩展&#xff0c;使用了 256 位 AES 加密&#xff0c;支持跨平台、零配置、数据100%加密、加密开销低至 5 -15%、占用空间小、性能出色等优点&#xff0c;因此非常适合保护嵌入式应用程序数据库&a…...

云原生周刊:Helm Charts 深入探究 | 2024.3.11

开源项目推荐 Glasskube Glasskube 提供了一个用于 Kubernetes 的缺失的包管理器。它具有图形用户界面(GUI)和命令行界面(CLI)。Glasskube 包是具备依赖感知、GitOps 准备和可以通过中央公共包仓库自动更新的特性。 imgpkg imgpkg&#xff08;发音为&#xff1a;"imag…...

【C++初阶】第六站 : 模板初阶

前言&#xff1a; 本章知识点&#xff1a;泛型编程、函数模板、类模板 专栏&#xff1a; C初阶 目录 泛型编程 函数模板 1.函数模板概念 2.函数模板格式 3.函数模板的原理 4.函数模板的实例化 5.模板参数的匹配原则 类模板 类模板的定义格式 类模板的实例化 泛型编程 如何实现一…...

训练保存模型checkpoint时报错SyntaxError: invalid syntax

在使用pytorch训练保存checkpoint时&#xff0c;出现如下报错&#xff1a; rootautodl-container-745411b452-c5cebfed:~/kvasir-seg-main# python train_transunet.py --loss_function"IoULoss" --training_augmentation0File "train_transunet.py", lin…...

虚拟机中安装Win98

文章目录 一、下载Win98二、制作可启动光盘三、VMware中安装Win98四、Qemu中安装Win981. Qemu的安装2. 安装Win98 Win98是微软于1998年发布的16位与32位混合的操作系统&#xff0c;也是一代经典的操作系统&#xff0c;期间出现了不少经典的软件与游戏&#xff0c;还是值得怀念的…...

业务系统对接大模型的基础方案:架构设计与关键步骤

业务系统对接大模型&#xff1a;架构设计与关键步骤 在当今数字化转型的浪潮中&#xff0c;大语言模型&#xff08;LLM&#xff09;已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中&#xff0c;不仅可以优化用户体验&#xff0c;还能为业务决策提供…...

k8s从入门到放弃之Ingress七层负载

k8s从入门到放弃之Ingress七层负载 在Kubernetes&#xff08;简称K8s&#xff09;中&#xff0c;Ingress是一个API对象&#xff0c;它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress&#xff0c;你可…...

云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地

借阿里云中企出海大会的东风&#xff0c;以**「云启出海&#xff0c;智联未来&#xff5c;打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办&#xff0c;现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...

Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)

文章目录 1.什么是Redis&#xff1f;2.为什么要使用redis作为mysql的缓存&#xff1f;3.什么是缓存雪崩、缓存穿透、缓存击穿&#xff1f;3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...

python/java环境配置

环境变量放一起 python&#xff1a; 1.首先下载Python Python下载地址&#xff1a;Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个&#xff0c;然后自定义&#xff0c;全选 可以把前4个选上 3.环境配置 1&#xff09;搜高级系统设置 2…...

Frozen-Flask :将 Flask 应用“冻结”为静态文件

Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是&#xff1a;将一个 Flask Web 应用生成成纯静态 HTML 文件&#xff0c;从而可以部署到静态网站托管服务上&#xff0c;如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...

华为OD机试-食堂供餐-二分法

import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...

Keil 中设置 STM32 Flash 和 RAM 地址详解

文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...

相机从app启动流程

一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...

ServerTrust 并非唯一

NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...