Python练习题(四)

本文主要是【Python】——Python练习题的文章,如果有什么需要改进的地方还请大佬指出⛺️

🎬作者简介:大家好,我是听风与他🥇
☁️博客首页:CSDN主页听风与他
🌄每日一句:狠狠沉淀,顶峰相见

目录

  • Python练习题(四)
    • 第1关:字符串基本操作
      • python代码:
    • 第2关:元组基本操作
      • python代码:
    • 第3关:列表基本操作
      • python代码:
    • 第4关:综合运用
      • python代码:
    • 📑文章末尾

Python练习题(四)

第1关:字符串基本操作

本关任务的目的是了解字符类型的特点,熟悉字符串的一些基本操作,包括赋值、拼接、重复、长度、索引、查找、替换、反转等常用操作。字符串最常见的一种基本数据类型。字符串是许多单个子串组成的序列,其主要是用来表示文本。注意:字符串是不可变数据类型,也就是说你要改变原字符串内的元素,只能是新建另一个字符串。

任务1 字符串拼接 依次输入两个字符串赋值给s1s2,并将s1中所有英文字母转换为大写后连接到s2后面,并将拼接的结果赋值给s3,输出s3的值。

提示:应用“+”运算和字符串的upper()方法。

任务2 根据字符串的长度确定字符串输出重复次数 输入一个字符串赋值给s4,根据s4的长度来确定将s3重复多少次,重复运算结果赋值给s5,并输出s5的值。例如:输入“A1”, 如果s3的值是123XTU,则输出123XTU123XTU

提示:求字符串的长度用内置函数len(),重复运算用“*”

任务3 访问字符串以及子字符串 输入一个长度为2字符串赋值s6,判定s6s5的第2至第11个字符(包含第11个字符)之间首次出现的位置与出现次数,若s5的长度小于10,则表示从第2个字符到字符串末尾的子串。例如:输入“XT”,若s5的值是123XTU123XTU,则输出“2 2”,第2个到第11字符的子串是23XTU123XT:表示:“XT”在子串“23XTU123XT”中首次出现的起始位置是2,总共出现了2次。

提示:本任务中需要用到字符串的切片运算:[m:n],出现位置与次数分别使用序列类型的共有方法:index()count()

任务4 字符串的替换 输入一个字符串赋值给s8,将s5中所有的数字符号"2"替换成存储在s8中的字符串,并将替换结果赋值给s9,输出s9的值。例如:输入一个字符串“TO”s5123XTU123XTU,则输出替换后的结果为:1TO3XTU1TO3XTU

提示:本任务中需要用到字符串的方法:replace()

任务5 字符串反转 将任务4中替换结果s9反转,输出s9反转后的值。例如:s9中存储的是:1TO3XTU1TO3XTU,则输出的反转结果是:UTX3OT1UTX3OT1

提示:本任务中需要用到字符串的切片运算:[::-1]

测试说明 注意:输入数据时,一行只输入一个数。本关1-5个任务评测输入输出样例如下: 输入测试数据:

xtu123A1XTTO

输出测试结果:

123XTU123XTU123XTU2 21TO3XTU1TO3XTUUTX3OT1UTX3OT1

python代码:

s1 = input()
s2 = input()
s3 = s2+s1.upper()
s4=input()
s5=s3*len(s4)
print(s3)
print(s5)
s6=input()
cnt=s5[1:min(11,len(s5))].index(s6)
print(f'{s5[1:min(11,len(s5))].count(s6)} {cnt}')
s8=input()
s9=s5.replace('2',s8)
print(s9)
s10=s9[::-1]
print(s10)

第2关:元组基本操作

本关任务的目的是了解元组类型数据的特点,什么场合使用。具体包括元组的建立,元组的访问,多元变量赋值等。元组的基本形式是以圆括号“()”括起来的数据元素,元组与字符串类似,可以通过序号来引用其中的元素。下标索引从0开始,可以进行拼接、重复等序列类型共同的操作。这些操作均不能改变原来元组中的元素。

**任务1 元组的建立 ** 从键盘输入两个字符串赋值给s1s2,并建立元组t1,其值为(s1,s2)。输出t1的值。例如:输入ABC,123,则输出('ABC','123')

提示:创建一个元组只需使用逗号分隔多个值放入圆括号,元组中只包含一个元素时,需要在元素后面添加逗号来消除歧义,如:x=(20,),表示建立了一个只有一个元素20的元组。

任务2 元组的拼接 输入一个整数与任务1中的t1拼接形成一个新元组t2,例如:输入20,它作为t2中的最后一个元素,输出t2的值。例如:如果元组t1("ABC","123"),则拼接后产生的新的元组t2的值是("ABC","123",20)

提示:拼接运算符“+”,用于元组时,表示将两个元组拼接产生一个新的元组。

任务3 元组的重复 输入一个整数赋值给n,将t2重复n次输出,并将重复后的新元组赋值给t3。例如:输入2,t2的值是("ABC","123",20),则输出t3的值为:("ABC","123",20,"ABC","123",20)

提示:重复运算符“\*”,用于元组时,表示将元组元素重复n次,产生一个新的元组。

任务4 利用元组实现变量值的交换t1t2t3所存储的元组进行交换,t1存储原t2的值,t2存储原t3的值,t3存储原来t1的值。例如:假设经过任务1–任务3t1,t2,t3的值分别为:t1=("ABC","123"),t2=("ABC","123",20), t3=("ABC","123",20,"ABC","123",20) 则交换后的结果 t1=("ABC","123",20) t2=("ABC","123",20,"ABC","123",20) t3=("ABC","123")

任务5 求元组的最值 令元组t4等于(12,32,33,24,35,26,47,568,69,1012),将元组的最大值ma与最小值mi求出,并将两个最值相加乘以t4元组长度得到结果t,将t加到t4的最末生成新的元组t5,输出新元组t5提示:利用max(tup),min(tup)可以得到元组tup的最值,len()返回元组长度,此题t4由自己初始化,系统不提供测试样例。

测试说明 注意:输入数据时,一行只输入一个数。本关1-5个任务评测输入输出样例如下: 输入测试数据:

ABC123202

输出测试结果:

('ABC','123')('ABC','123',20)('ABC','123',20'ABC','123',20)('ABC','123',20) ('ABC','123',20'ABC','123',20) ('ABC','123')(12,32,33,24,35,26,47,568,69,1012,10240)

python代码:

s1 = input()
s2 = input()
t1 = (s1,s2)
print(t1)
num = int(input())
t2 =t1+(num,)
print(t2)
n = int(input())
t3 = t2*n
print(t3)
t1,t2,t3=t2,t3,t1
print(t1,t2,t3)
t4=(12,32,33,24,35,26,47,568,69,1012)
ma=max(t4)
mi=min(t4)
t=(ma+mi)*len(t4)
t5=t4+(t,)
print(t5)

第3关:列表基本操作

本关任务的目的是了解列表类型的基本特点,它的可变性使得它具有一些和字符串与元组不同的操作,如列表元素的添加删除,排序等。列表可以把大量的数据放在一起,可以对其进行集中处理。列表是以方括号“[]”包围的数据集合,不同成员间以“,”分隔。列表中可以包含任何数据类型,也可以包含一个列表。列表可以通过序号来访问其中的成员。

任务1 建立列表 输入一个表示姓名的字符串,建立一个只含有此字符串的列表lt1,并输出lt1的值,例如,输入字符串为“李海”,则输出[“李海”]

任务2 加入元素 输入3个整数,分别代表数学,语文,英语的分数,生成列表lt2,将列表lt2加到lt1后面,输出更新后的lt1。例如,输入的整数为:90 79 100,表示对应课程的分数,则输出:[“李海”,90,79,100]

提示:可以使用append(),extend(),insert()“+”运算,但是要注意他们的差别。

任务3 插入元素 从键盘输入一个数字字符串,并在列表lt1的起始位置插入这个数字字符串,代表学号,输出lt1的值。例如:输入:“201705090345”,输出lt1的值为:[“201705090345”,“李海”,90,79,100]

提示:可以使用insert()在首元素前面进行插入。

任务4 列表的删除 找出列表lt1中的最小的元素,在列表lt1中删去此元素,删除后,再输出lt1的值。

提示:使用内置min()函数求出lt1中元素的最小值,用列表的方法remove()pop()来移除此元素。也可以用内置函数del()来删除指定位置的元素。注意参数:remove()的参数是要删除的具体元素,而del()pop() 的圆括号中要填写整数,表示要删除的元素的索引号。

任务5 列表的反转与排序lt2列表中的元素按从小到大的顺序排列输出,再将lt1复制给lt3,将lt3反转输出。例如:lt2的值是[90,79,100],则从小到大输出为[79,90,100]lt3反转的结果为[100,90,“李海”,“201705090345”]

**提示:**本任务使用列表的方法有:copy()sort()reverse()

测试说明 注意:输入数据时,一行只输入一个数。本关1-5个任务评测输入输出样例如下: 输入测试数据:

李海9079100201705090345

输出测试结果:

[“李海”][“李海”,90,79,100][“201705090345”,“李海”,90,79,100][“201705090345”,“李海”,90,100][79,90,100][100,90,“李海”,“201705090345”]

开始你的任务吧,祝你成功!

python代码:

s1=input()
lt1=[s1]
print(lt1)
a=int(input())
b=int(input())
c=int(input())
lt2=[a,b,c]
lt=lt1+lt2
print(lt)
id = input()
lt.insert(0,id)
print(lt)
lt.remove(min(lt2))
print(lt)
print(sorted(lt2,reverse=False))
lt3=lt[::-1]
print(lt3)

第4关:综合运用

本关任务的目的是了解字符串,元组和列表间转换函数的使用,如split()join()

任务1 字符串转换成列表和元组 输入一个含有空格的字符串赋值给ss1,分别将其转换成列表和元组并依次输出。例如:输入:“My computer”,输出:

  • ['M', 'y', ' ', 'c', 'o', 'm', 'p', 'u', 't', 'e', 'r']
  • ('M', 'y', ' ', 'c', 'o', 'm', 'p', 'u', 't', 'e', 'r')-

**提示:**使用list()tuple()函数。

任务2 字符串分割 将字符串ss1以空格作为分离符号,将其分割为多个元素的列表赋值给ss2。例如“My computer”分割为列表输出是:["My","computer"]

提示:使用字符串的split()方法。

任务3 将列表合并成字符串 首先将ss2通过*运算,重复3次,赋值给ss3,然后用“-”将各元素合成为一个字符串。例如,ss2重复3次后,ss3中元素为:["My","computer","My","computer","My","computer"],用“-”作为连接符进行连接后的输出为:"My-computer-My-computer-My-computer"

提示:使用字符串的join()方法。

测试说明 注意:输入数据时,一行只输入一个数。本关1-3个任务评测输入输出样例如下: 输入测试数据:

My computer

输出测试结果:

['M', 'y', ' ', 'c', 'o', 'm', 'p', 'u', 't', 'e', 'r']('M', 'y', ' ', 'c', 'o', 'm', 'p', 'u', 't', 'e', 'r')["My","computer"]"My-computer-My-computer-My-computer"

开始你的任务吧,祝你成功!

python代码:

s = input()
print(list(s))
print(tuple(s))
print(s.split())
t = s.split()*3
print('-'.join(t))

📑文章末尾

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ssm医院门诊互联电子病历管理信息系统源码和论文

摘 要 网络的广泛应用给生活带来了十分的便利。所以把医院门诊互联电子病历管理与现在网络相结合,利用java技术建设医院门诊互联电子病历管理信息系统,实现医院门诊互联电子病历的信息化。则对于进一步提高医院门诊互联电子病历管理发展,对…

最强Node js 后端框架学习看这一篇文章就够

距离上次认真花时间写作,似乎已经过了许久许久,前端讲了一个新框架 ,叫 Nest.js 下方是课件,有过一定开发经验可跟随视频学习 B站 地址 : https://www.bilibili.com/video/BV1Lg4y197u1/?vd_sourcead427ffaf8a5c8344…

leetcode 202.快乐数

代码: class Solution {//计算 n 每个位置上的数字的平方和public int quadraticSum(int n){int sum0;while (n>0){int in%10;sumi*i;n/10;}return sum;}public boolean isHappy(int n) {//慢指针int slown;//快指针int fastquadraticSum(n);while (slow!fast){…

【EasyExcel实践】万能导出,一个接口导出多张表以及任意字段(可指定字段顺序)

文章目录 前言正文一、POM依赖二、核心Java文件2.1 自定义表头注解 ExcelColumnTitle2.2 自定义标题头的映射接口2.3 自定义有序map存储表内数据2.4 表头工厂2.5 表flag和表头映射枚举2.6 测试用的实体2.6.1 NameAndFactoryDemo2.6.2 StudentDemo 2.7 启动类2.8 测试控制器 三、…

linux作业管理_jobs

4.2 作业管理 是指控制当前正在运行的进程的行为,也称为进程控制。 是shell的一个特性,使用户能在多个独立进程间进行切换。 例如,用户可以挂起一个正在运行的进程,稍后再恢复其运行。当用户使用vim编辑一个文本文件&#xff0c…

PCL 空间直角坐标系与极坐标系的相互转换(C++详细过程版)

目录 一、算法原理1、空间坐标系转极坐标系2、极坐标系转空间坐标系二、代码实现三、结果展示1、空间坐标系转极坐标系2、极坐标系转空间坐标系本文由CSDN点云侠原创,原文链接。爬虫网站自重。如果你不是在点云侠的博客中看到该文章,那么此处便是不

【算法】单调栈题单(矩阵系列、字典序最小、贡献法)⭐

文章目录 题单来源经典题单496. 下一个更大元素 I(单调栈模板题)503. 下一个更大元素 II(单调栈循环数组)2454. 下一个更大元素 IV(第二个更大的元素:两个单调栈)456. 132 模式(单调…

C++ day44完全背包问题 零钱兑换Ⅱ 组合总和Ⅳ

完全背包:一个物品可以使用无数次,将01背包中倒序遍历背包变成正序遍历背包 遍历顺序:在完全背包中,对于一维dp数组来说,其实两个for循环嵌套顺序是无所谓的! 先遍历物品,后遍历背包可以&#…

idea报错——Access denied for user ‘root‘@‘localhost‘ (using password: YES)

项目场景: 使用idea启动SpringBoot项目报错,可以根据提示看到是数据库的原因,显示使用了密码,具体报错信息如下: 解决方案: 第一步:先去配置文件里面查看连接MySQL的url是否正确,如果…

【蓝桥杯选拔赛真题73】Scratch烟花特效 少儿编程scratch图形化编程 蓝桥杯创意编程选拔赛真题解析

目录 scratch烟花特效 一、题目要求 编程实现 二、案例分析 1、角色分析

JDK1.8_X64在LINUX下安装

JDK1.8在LINUX下安装步骤: 在/usr/lib/目录下新建jvm文件夹,如果已有jvm文件夹,则将之前的JDK版本删除,即在jvm目录下执行命令:rm–rf *将JDK文件jdk-8u40-linux-x64.gz拷贝到/home/目录下;在/home/目录下…

华天动力-OA8000 MyHttpServlet 文件上传漏洞复现

0x01 产品简介 华天动力OA是一款将先进的管理思想、 管理模式和软件技术、网络技术相结合,为用户提供了低成本、 高效能的协同办公和管理平台。 0x02 漏洞概述 华天动力OA MyHttpServlet 存在任意文件上传漏洞,未经身份认证的攻击者可上传恶意的raq文件并执行raq文件中的任意…

PC行内编辑

点击编辑,行内编辑输入框出现,给列表的每条数据定义编辑标记,最后一定记得 v-model双向绑定,使数据回显。 步骤: 1、给行数据定义编辑标记 2、点击行编辑标记(isedit) 3、插槽根据标记渲染表单 …

数据结构:图文详解双向链表的各种操作(头插法,尾插法,任意位置插入,查询节点,删除节点,求链表的长度... ...)

目录 一.双向链表的概念 二.双向链表的数据结构 三.双向链表的实现 节点的插入 头插法 尾插法 任意位置插入 节点的删除 删除链表中第一次出现的目标节点 删除链表中所有与关键字相同的节点 节点的查找 链表的清空 链表的长度 四.模拟实现链表的完整代码 前言&am…

“此应用专为旧版android打造,因此可能无法运行”,问题解决方案

当用户在Android P系统上打开某些应用程序时,可能会弹出一个对话框,提示内容为:“此应用专为旧版Android打造,可能无法正常运行。请尝试检查更新或与开发者联系”。 随着Android平台的发展,每个新版本通常都会引入新的…

线程池大小设置多少,比较合适?

设置线程数的核心点 压测!压测!再压测!实际对性能要求比较高的场景,压测是最佳的方式! 并发编程适用于什么场景? CPU 密集型 对于 CPU 密集型任务,希望最大限度地提高 CPU 利用率&#xff0c…

每周一算法:背包问题(三)多重背包

多重背包 有 N N N件物品和一个容量是 M M M的背包。第 i i i种物品最多有 s i s_i si​件,每件的体积是 v i v_i vi​,价值是 w i w_i wi​。 求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。 输…

pytorch 模型量化quantization

pytorch 模型量化quantization 1.workflow1.1 PTQ1.2 QAT 2. demo2.1 构建resnet101_quantization模型2.2 PTQ2.3 QAT 参考文献 pytorch框架提供了三种量化方法,包括: Dynamic QuantizationPost-Training Static Quantization(PTQ&#xff0…

DevOps搭建(三)-Git安装详细步骤

前面两篇文章我们讲了如何安装swappiness安装和虚拟机。这篇我们详细讲下如何安装Git。 1、YUM源更改为阿里云镜像源 1.1、备份CentOS-Base.repo 先备份原有的 CentOS-Base.repo 文件 sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup…

OCR原理解析

目录 1.概述 2.应用场景 3.发展历史 4.基于传统算法的OCR技术原理 4.1 图像预处理 4.1.1 灰度化 4.1.2 二值化 4.1.3 去噪 4.1.4 倾斜检测与校正 4.1.4.2 轮廓矫正 4.1.5 透视矫正 4.2 版面分析 4.2.1 连通域检测文本 4.2.2 MSER检测文本 4.3 字符切割 4.3.1 连…