Python_level1_字符串_11

目录

一、基本概念

二、字符串基本操作:【索引、切片、遍历】

1.字符串与列表(相同)

1)索引(从0开始)(可以获取某一个/某几个连续的字符)

2)切片 [xx:xx]        与 列表 语法规则一样 [起点:终点]

3)遍历【for循环】        依次获取每一个字符

2.字符串与列表(不相同)

3.案例:打印出国际象棋

三、格式化:【%、format()、f-strings】美化字符串

1.%

2.format()

3.f-strings() 仅支持python3.6以上的版本

4.案例:大家好!我叫xx,我今年xx岁了!


一、基本概念

1)列表:包含多个元素的有序序列,每个元素都有自己的索引。

2)索引:通过索引我们可以对列表进行 查找 / 切片 操作。

3)for循环:遍历列表。

4)字符串(String):是表示文本的数据类型,由一系列字符组成,用引号(单引号 ' '或双引号 '' ")包裹的有序序列

特点:

  • 可包含字母、数字、符号、空格等任意字符

  • 不可变(创建后不能直接修改内部字符)

  • 支持索引、切片、遍历等操作

二、字符串基本操作:【索引、切片、遍历】

1.字符串与列表(相同)

1)索引(从0开始)(可以获取某一个/某几个连续的字符)

        s=‘abcde’ #对应索引:0、1、2、3、4;或者,反向递减:从字符e往前数-1、-2、-3、-4、-5

        print(s[0]) #取出s中的第一个字符,试着取出索引:4、5、-1、-5、-6(非法索引)

2)切片 [xx:xx]        与 列表 语法规则一样 [起点:终点]

切片结果:不包含终点索引对应的数据。

例如:打印s中除了最后一个字符e之外的其他所以字符/取出前4个字母abcd。

        s='abcde'

        print(s[0:4])

3)遍历【for循环】        依次获取每一个字符

for关键字 c变量存储每一个字符 in关键字 s字符串名 :结尾

        s='abcde'

        for c in s:

                print(c)

2.字符串与列表(不相同)

1)字符串类型不可变

例如:把第一个字符a修改为x,(模仿列表修改过程)

1.找到要修改的字符a即s[0];

2.使用赋值符号=,将x传递给它。

        s='abcde'

        s[0]='x'   

        print()        #报错,字符串类型string不支持修改,若x指向列表类型的数据则ok除非列表为空

2)列表类型可变,先修改列表,再打印

        list=['a','b']

        list[0]='x'

        print(list)        #正确

3.案例:打印出国际象棋

题目:

国际象棋:4*8                        ♜♞♝♛♚♝♞♜

1.车马象王后马车                   ♖♘♗♕♔♗♘♖

2.兵*8                                     ♟♟♟♟♟♟♟♟

                                               ♙♙♙♙♙♙♙♙

解答:

#国际象棋
#♜♞♝♛♚♝♞♜
#♟♟♟♟♟♟♟♟
#♖♘♗♕♔♗♘♖
#♙♙♙♙♙♙♙♙
##############################################################
import turtle
#先用字符串类型,列出所有棋子
black="♜♞♝♛♚♟"
white="♖♘♗♕♔♙"turtle.penup()   #`避免下划线 抬起画笔
###############################################################
#第一行:
#1.1切片(要车马象王后)
#print(black[:5])   
#1.2遍历:#打印出黑棋:♜♞♝♛♚车马象王后
for c in black[:5]:turtle.write(c,font=('arial',40))   #font设置字符大小turtle.forward(40)  #避免重叠#1.31正着[2,1,0]  列表[象马车],也能反着 #打印出黑棋:♝♞♜象马车
index=[2,1,0]   
for i in index: ##遍历 index 列表,依次取出 2、1、0 赋值给 iturtle.write(black[i],font=('Arial',40))    #字符绘制 字体/字号 ,绘制black[i]对应字符turtle.forward(40)# #1.32反着[-1,-2,-3]
# index=[-1,-2,-3]
# for i in index: ##遍历 index 列表,依次取出 2、1、0 赋值给 i
#     turtle.write(black[i],font=('Arial',40))    #字符绘制 字体/字号 ,绘制black[i]对应字符
#     turtle.forward(40)################################################################### #第二行:
#把兵放到第二行
turtle.goto(0,-50)  #坐标# #遍历(兵)c重复执行8次for循环   #♟♟♟♟♟♟♟♟  
for i in range(8):turtle.write(black[-1],font=('Arial',40))    #字符绘制 字体/字号 ,绘制black[i]对应字符turtle.forward(40) #同一行
####################################################################################
####################################################################################turtle.penup()   #`避免下划线 抬起画笔
#第3行:
turtle.goto(0,-100)
for c in white[:5]:turtle.write(c,font=('arial',40))   #font设置字符大小turtle.forward(40)  #避免重叠index=[2,1,0]   
for i in index: ##遍历 index 列表,依次取出 2、1、0 赋值给 iturtle.write(white[i],font=('Arial',40))    #字符绘制 字体/字号 ,绘制black[i]对应字符turtle.forward(40)################################################################### 第4行:
turtle.goto(0,-150)
for i in range(8):turtle.write(white[-1],font=('Arial',40))  turtle.forward(40) turtle.done()   #画面停留
#turtle.hideturtle() #隐藏画笔

 

三、格式化:【%、format()、f-strings】美化字符串

1.%

%s:字符串类型

%d:整数类型

2.format()

1)定义模版字符串.format(参数1,参数2,参数3...)方法   ,参数有序号从0开始依次递增1

{占位符},并且对应参数:

**交换参数:

h1='考试科目:{}\t考试时间:{}'.format('英语','14:00-16:00')
print(h1)h2='考试科目:{1}\t考试时间:{0}'.format('英语','14:00-16:00')
print(h2)

 

3.f-strings() 仅支持python3.6以上的版本

4.案例:大家好!我叫xx,我今年xx岁了!

name = '宁宁'

age = 2

1.非格式化:

print('大家好!我是'+name+',我今年'+str(age)+'岁啦!')        #数字类型需要格式转换

2.格式化:

print('大家好!我是%s,我今年%d岁啦!'%(name,age))

print('大家好!我是{},我今年{}岁啦!'.format(name,age))

print(f'大家好!我是{name},我今年{age}岁啦!')        #3.67版本,可读性更强!

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

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

相关文章

Axure数据可视化科技感大屏设计资料——赋能多领域,展示无限价值

可视化大屏如何高效、直观地展示数据,并将其转化为有价值的决策依据,成为了许多企业和组织面临的共同挑战。Axure大屏可视化模板,作为一款强大的数据展示工具,正在以其出色的交互性和可定制性,赋能多个领域&#xff0c…

MySQL 性能调优:数据库的极限运动训练

就像运动员需要不断训练才能突破极限,数据库也需要各种调优才能跑得更快…让我们一起给 MySQL 安排一套专业的"健身计划"! 什么是 MySQL 性能调优?🤔 MySQL 性能调优是指通过各种配置优化、结构调整和查询改进&#x…

4.5/Q1,GBD数据库最新文章解读

文章题目:Emerging trends and cross-country health inequalities in congenital birth defects: insights from the GBD 2021 study DOI:10.1186/s12939-025-02412-7 中文标题:先天性出生缺陷的新趋势和跨国健康不平等:GBD 202…

基于DeepSeek、ChatGPT支持下的地质灾害风险评估、易发性分析、信息化建库及灾后重建

前言: 地质灾害是指全球地壳自然地质演化过程中,由于地球内动力、外动力或者人为地质动力作用下导致的自然地质和人类的自然灾害突发事件。在降水、地震等自然诱因的作用下,地质灾害在全球范围内频繁发生。我国不仅常见滑坡灾害,还…

Linux | 安装超级终端串口软件连接i.MX6ULL开发板(8)

01 它的安装步骤也非常简单,安装语言选择中文简体,点击确定,如下图所示。 点击下一步,如下图所示。 02

蓝桥杯15届 宝石组合

问题描述 在一个神秘的森林里,住着一个小精灵名叫小蓝。有一天,他偶然发现了一个隐藏在树洞里的宝藏,里面装满了闪烁着美丽光芒的宝石。这些宝石都有着不同的颜色和形状,但最引人注目的是它们各自独特的 “闪亮度” 属性。每颗宝…

Lua:第1-4部分 语言基础

1 Lua语言入门 1.1 程序段 我们将 Lua 语言执行的每一段代码(例如,一个文件或交互模式下的一行)称为一个程序段 ( Chunk ) ,即一组命令或表达式组成的序列 。 1.2 一些词法规范 Lua 语言中的标识符&#…

CTF类题目复现总结-hashcat 1

一、题目地址 https://buuoj.cn/challenges#hashcat二、复现步骤 1、下载附件,解压得到What kind of document is this_文件; 2、用010 Editor打开What kind of document is this_文件,发现是office文件; 3、将后缀名改为ppt时…

手机归属地查询Api接口,数据准确可靠

手机归属地查询是一项非常实用的功能,它可以帮助我们快速了解一个手机号码的所属地区、区号、邮政编码等信息。在互联网时代,随着大数据和人工智能技术的发展,手机归属地查询的API接口也变得越来越普及和便捷。 在本文中,我们将介…

orangepi zero烧录及SSH联网

下载对应版本的armbian镜像 armbian的默认用户root,默认密码:1234 下载烧录工具win32diskimager https://sourceforge.net/projects/win32diskimager/files/Archive/ 插入16G以上TF卡,使用win32diskimager烧录armbian镜像 烧录完毕后用l…

为什么有的深度学习训练,有训练集、验证集、测试集3个划分,有的只是划分训练集和测试集?

在机器学习和深度学习中,数据集的划分方式取决于任务需求、数据量以及模型开发流程的严谨性。 1. 三者划分:训练集、验证集、测试集 目的 训练集(Training Set):用于模型参数的直接训练。验证集(Validati…

Linux驱动开发 块设备

目录 序言 1.块设备结构 分区(gendisk) 请求(request) 请求队列 1. 多队列架构 2. 默认限制与扩展 bio 2.块设备的使用 头文件与宏定义 blk-mq 相关结构和操作 块设备操作函数 模块初始化函数 模块退出函数 3.总结 序言 块设备(如硬盘、虚拟盘&#x…

ResNet改进(14):添加 EMA注意力机制提升跨空间学习效率

本专栏代码均经过测试,可以直接替换项目中的模型,一键运行! 采用最新的即插即用模块,有效涨点!! 1.EMA注意力机制 EMA(Efficient Multi-scale Attention)注意力机制是一种创新的注意力设计,能够有效提升模型在跨空间学习任务中的表现。以下是对该机制的详细解析: EM…

计算机硬件——CPU 主要参数

什么是 CPU ? CPU 的英文全称是 Central Processing Unit,即中央处理器。CPU 的内部结构可分为控制单元、逻辑单元和存储单元三大部分。CPU 的性能大致上反映出了它所配置的微机的性能,因此 CPU 的性能指标十分重要。 CPU 的主要参数 CPU …

针对 Python 3.7.0,以下是 Selenium 版本的兼容性建议和安装步骤

1. Selenium 版本推荐 最高兼容版本: Selenium 4.11.2(官方明确支持 Python 3.7,但需注意部分新功能可能受限)。 稳定兼容版本: Selenium 3.141.0(经典版本,完全兼容 Python 3.7,适…

stm32 主频216MHz,写个ms延时函数,us延时函数

在 STM32 微控制器中,实现精确的 ms(毫秒)和 us(微秒)延时函数通常依赖于系统时钟(SysTick)或定时器。以下是基于主频为 216 MHz 的实现方法: 1. 使用 SysTick 实现延时函数 SysTic…

modus开源程序是一个由 WebAssembly 提供支持的构建代理流的框架

一、软件介绍 文末提供程序和源码下载 Modus 是一个开源的无服务器框架,用于在 Go 和 AssemblyScript 中构建代理系统和 AI 应用程序。 它简化了模型、上下文和数据的集成。我们将继续添加其他功能,以更好地支持工具的构建和调用。 You write a functi…

从零构建大语言模型全栈开发指南:第四部分:工程实践与部署-4.3.2知识库增强与外部API集成(代码示例:HTTP节点与检索增强生成)

👉 点击关注不迷路 👉 点击关注不迷路 👉 点击关注不迷路 文章大纲 知识库增强与外部API集成:HTTP节点与检索增强生成实战4.3.2 知识库增强与外部API集成(代码示例:HTTP节点与检索增强生成)1. 核心挑战与优化目标1.1 技术瓶颈分析1.2 设计目标2. 关键技术方案2.1 知识…

蓝桥杯Java B组省赛真题高频考点近6年统计分类

基础考点 考点高频难度模拟9基础枚举5基础思维4基础动态规划3基础规律2基础单位换算2基础搜索 1基础双指针1基础数学1基础哈希表1基础暴力1基础Dijkstra1基础 二分1基础 中等考点 考点高频难度动态规划6中等数学5中等枚举4中等模拟3中等思维3中等贪心3中等前缀和3中等二分2中…

Rancher2.8.5架构

大多数 Rancher 2.x 软件均运行在 Rancher Server 上。Rancher Server 包括用于管理整个 Rancher 部署的所有软件组件。 下图展示了 Rancher 2.x 的上层架构。下图中,Rancher Server 管理两个下游 Kubernetes 集群,其中一个由 RKE 创建,另一…