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

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

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没有调用,不会输出任何结果,被装饰函数同样也不会运行。

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专项练习(day1)

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

P3405 [USACO16DEC] Cities and States S题解

题目 Farmer John有若干头奶牛。为了训练奶牛们的智力&#xff0c;Farmer John在谷仓的墙上放了一张美国地图。地图上表明了每个城市及其所在州的代码&#xff08;前两位大写字母&#xff09;。 由于奶牛在谷仓里花了很多时间看这张地图&#xff0c;他们开始注意到一些奇怪的…...

JavaScript原型和原型链

JavaScript每个对象拥有一个原型对象 需要注意的是&#xff0c;只有函数对象才有 prototype 属性 当试图访问一个对象的属性时&#xff0c;它不仅仅在该对象上搜寻&#xff0c;还会搜寻该对象的原型&#xff0c;以及该对象的原型的原型&#xff0c;依次层层向上搜索&#xff…...

PyTorch之完整的神经网络模型训练

简单的示例&#xff1a; 在PyTorch中&#xff0c;可以使用nn.Module类来定义神经网络模型。以下是一个示例的神经网络模型定义的代码&#xff1a; import torch import torch.nn as nnclass MyModel(nn.Module):def __init__(self):super(MyModel, self).__init__()# 定义神经…...

基于神经网络的偏微分方程求解器再度取得突破,北大字节的研究成果入选Nature子刊

目录 一.引言:神经网络与偏微分方程 二.如何基于神经网络求解偏微分方程 1.简要概述 2.基于神经网络求解偏微分方程的三大方向 2.1数据驱动 基于CNN 基于其他网络 2.2物理约束 PINN 基于 PINN 可测量标签数据 2.3物理驱动(纯物理约束) 全连接神经网路(FC-NN) CN…...

Linux的基本权限

一、对shell的浅显认识 shell是操作系统下的一个外壳程序&#xff0c;无论是Linux操作系统&#xff0c;还是Windows操作系统&#xff0c;用户都不会直接对操作系统本身直接进行操作&#xff0c;需要通过一个外壳程序去间接的进行各种操作 在Linux的shell外壳就是命令行&#…...

指纹加密U盘/指纹KEY方案——采用金融级安全芯片 ACH512

方案概述 指纹加密U盘解决方案可实现指纹算法处理、数据安全加密、数据高速存取&#xff08;EMMC/TF卡/NandFlash&#xff09;&#xff0c;可有效保护用户数据安全。 方案特点 • 采用金融级安全芯片 ACH512 • 存储介质&#xff1a;EMMC、TF卡、NandFlash • 支持全系列国密…...

Cloud-Sleuth分布式链路追踪(服务跟踪)

简介 在微服务框架中,一个由客户端发起的请求在后端系统中会经过多个不同的服务节点调用来协同产生最后的请求结果,每一个前端请求都会形成一条复杂的分布式服务调用链路,链路中的任何一环出现高延时或错误都会引起整个请求最后的失败 GitHub - spring-cloud/spring-cloud-sl…...

flink重温笔记(十四): flink 高级特性和新特性(3)——数据类型及 Avro 序列化

Flink学习笔记 前言&#xff1a;今天是学习 flink 的第 14 天啦&#xff01;学习了 flink 高级特性和新特性之数据类型及 avro 序列化&#xff0c;主要是解决大数据领域数据规范化写入和规范化读取的问题&#xff0c;avro 数据结构可以节约存储空间&#xff0c;本文中结合企业真…...

python75-Python的函数参数,关键字(keyword)参数

在定义Python函数时可定义形参(形式参数的意思)这些形参的值要等到调用时才能确定下来&#xff0c;由函数的调用者负责为形参传入参数值。简单来说&#xff0c;就是谁调用函数&#xff0c;谁负责传入参数值。 关键字(keyword)参数 Python函数的参数名不是无意义的&#xff0c…...

Java宝典-抽象类和接口

目录 1. 抽象类1.1 抽象类的概念1.2 抽象类的语法1.3 抽象类的特点 2. 接口2.1 接口的概念2.2 接口的语法2.3 接口的特点2.4 实现多个接口2.5 接口的继承 3. 接口使用案例 铁汁们好,今天我们学习抽象类和接口~ 1. 抽象类 1.1 抽象类的概念 什么是抽象类?在面向对象中,如果一…...

6. Gin集成redis

文章目录 一&#xff1a;连接Redis二&#xff1a;基本使用三&#xff1a;字符串四&#xff1a;列表五&#xff1a;哈希六&#xff1a;Set七&#xff1a;管道八、事务九&#xff1a;示例 代码地址&#xff1a;https://gitee.com/lymgoforIT/golang-trick/tree/master/14-go-redi…...

DxO PureRAW:赋予RAW图像生命,打造非凡视觉体验 mac/win版

DxO PureRAW 是一款专为RAW图像处理而设计的软件&#xff0c;旨在帮助摄影师充分利用RAW格式的优势&#xff0c;实现更加纯净、细腻的图像效果。该软件凭借其强大的功能和易于使用的界面&#xff0c;成为了RAW图像处理领域的佼佼者。 DxO PureRAW 软件获取 首先&#xff0c;Dx…...

【MySQL | 第四篇】区分SQL语句的书写和执行顺序

文章目录 4.区分SQL语句的书写和执行顺序4.1书写顺序4.2执行顺序4.3总结4.4扩充&#xff1a;辨别having与where的异同&#xff1f;4.5聚合查询 4.区分SQL语句的书写和执行顺序 注意&#xff1a;SQL 语句的书写顺序与执行顺序不是一致的 4.1书写顺序 SELECT <字段名> …...

服务器又被挖矿记录

写在前面 23年11月的时候我写过一篇记录服务器被挖矿的情况&#xff0c;点我查看。当时是在桌面看到了bash进程CPU占用异常发现了服务器被挖矿。 而过了几个月没想到又被攻击&#xff0c;这次比上次攻击手段要更高明点&#xff0c;在这记录下吧。 发现过程 服务器用的是4090…...

嵌入式学习day34 网络

TCP包头: 1.序号:发送端发送数据包的编号 2.确认号:已经确认接收到的数据的编号(只有当ACK为1时,确认号才有用) TCP为什么安全可靠: 1.在通信前建立三次握手连接 SYN SYNACK ACK 2.在通信过程中通过序列号和确认号保障数据传输的完整性 本次发送序列号:上次…...

欧科云链:角力Web3.0,香港如何为合规设线?

在香港拥抱Web3.0的过程中,以欧科云链为代表的合规科技企业将凸显更大重要性。 ——据香港商报网报道 据香港明报、商报等媒体报道&#xff0c;港区全国政协兼香港选委界立法会议员吴杰庄在日前召开的全国两会上提出在大湾区建设国际中小企业创新Web3融资平台等提案&#xff0…...

Android SDK2 (实操三个小目标)

书接上回&#xff1a;Android SDK 1&#xff08;概览&#xff09;-CSDN博客 今天讲讲三个实际练手内容&#xff0c;用的是瑞星微的sdk。 1 实操编译Android.bp 首先还是感叹下&#xff0c;现在的系统真的越搞越复杂&#xff0c;最早只有gcc&#xff0c;后面多了make&#xf…...

数字编码与字符编码:解锁编程世界的基石

在计算机的世界里&#xff0c;一切信息都是以数字的形式存在。但是&#xff0c;你有没有想过&#xff0c;我们是如何在这个由0和1构成的数字世界中表示复杂的信息&#xff0c;如文本、图像和声音的呢&#xff1f;本篇文章将带你深入探索数字编码与字符编码的奥秘&#xff0c;它…...

C语言-写一个简单的Web服务器(一)

基于TCP的web服务器 概述 C语言可以干大事&#xff0c;我们基于C语言可以完成一个简易的Web服务器。当你能够自行完成web服务器&#xff0c;你会对C语言有更深入的理解。对于网络编程&#xff0c;字符串的使用&#xff0c;文件使用等等都会有很大的提高。 关于网络的TCP协议在…...

Ubuntu系统下交叉编译openssl

一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机&#xff1a;Ubuntu 20.04.6 LTSHost&#xff1a;ARM32位交叉编译器&#xff1a;arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…...

可靠性+灵活性:电力载波技术在楼宇自控中的核心价值

可靠性灵活性&#xff1a;电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中&#xff0c;电力载波技术&#xff08;PLC&#xff09;凭借其独特的优势&#xff0c;正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据&#xff0c;无需额外布…...

今日科技热点速览

&#x1f525; 今日科技热点速览 &#x1f3ae; 任天堂Switch 2 正式发售 任天堂新一代游戏主机 Switch 2 今日正式上线发售&#xff0c;主打更强图形性能与沉浸式体验&#xff0c;支持多模态交互&#xff0c;受到全球玩家热捧 。 &#x1f916; 人工智能持续突破 DeepSeek-R1&…...

AI,如何重构理解、匹配与决策?

AI 时代&#xff0c;我们如何理解消费&#xff1f; 作者&#xff5c;王彬 封面&#xff5c;Unplash 人们通过信息理解世界。 曾几何时&#xff0c;PC 与移动互联网重塑了人们的购物路径&#xff1a;信息变得唾手可得&#xff0c;商品决策变得高度依赖内容。 但 AI 时代的来…...

Bean 作用域有哪些?如何答出技术深度?

导语&#xff1a; Spring 面试绕不开 Bean 的作用域问题&#xff0c;这是面试官考察候选人对 Spring 框架理解深度的常见方式。本文将围绕“Spring 中的 Bean 作用域”展开&#xff0c;结合典型面试题及实战场景&#xff0c;帮你厘清重点&#xff0c;打破模板式回答&#xff0c…...

DeepSeek源码深度解析 × 华为仓颉语言编程精粹——从MoE架构到全场景开发生态

前言 在人工智能技术飞速发展的今天&#xff0c;深度学习与大模型技术已成为推动行业变革的核心驱动力&#xff0c;而高效、灵活的开发工具与编程语言则为技术创新提供了重要支撑。本书以两大前沿技术领域为核心&#xff0c;系统性地呈现了两部深度技术著作的精华&#xff1a;…...

全面解析数据库:从基础概念到前沿应用​

在数字化时代&#xff0c;数据已成为企业和社会发展的核心资产&#xff0c;而数据库作为存储、管理和处理数据的关键工具&#xff0c;在各个领域发挥着举足轻重的作用。从电商平台的商品信息管理&#xff0c;到社交网络的用户数据存储&#xff0c;再到金融行业的交易记录处理&a…...

uni-app学习笔记三十五--扩展组件的安装和使用

由于内置组件不能满足日常开发需要&#xff0c;uniapp官方也提供了众多的扩展组件供我们使用。由于不是内置组件&#xff0c;需要安装才能使用。 一、安装扩展插件 安装方法&#xff1a; 1.访问uniapp官方文档组件部分&#xff1a;组件使用的入门教程 | uni-app官网 点击左侧…...

2025-05-08-deepseek本地化部署

title: 2025-05-08-deepseek 本地化部署 tags: 深度学习 程序开发 2025-05-08-deepseek 本地化部署 参考博客 本地部署 DeepSeek&#xff1a;小白也能轻松搞定&#xff01; 如何给本地部署的 DeepSeek 投喂数据&#xff0c;让他更懂你 [实验目的]&#xff1a;理解系统架构与原…...

Win系统权限提升篇UAC绕过DLL劫持未引号路径可控服务全检项目

应用场景&#xff1a; 1、常规某个机器被钓鱼后门攻击后&#xff0c;我们需要做更高权限操作或权限维持等。 2、内网域中某个机器被钓鱼后门攻击后&#xff0c;我们需要对后续内网域做安全测试。 #Win10&11-BypassUAC自动提权-MSF&UACME 为了远程执行目标的exe或者b…...