Python系统教程005(字符串的格式化输出)

news2024/10/8 17:58:25

知识回顾

1、默认情况下,input函数接收的数据是字符串类型。

2、字符串类型的关键词是str。

3、\n和\t都是转义字符,\n用来换行,\t用来留出一段固定长度的空白。

4、type函数能够用来查看变量的数据类型

5、数据类型的转换,举个例子

x_str='3.14'
print(x_str)
y_int=float(x_str)
print(y_int)

第一个是字符型、第二个是浮点类型。

6、有字符串 'a good student',如何取出其中的good字符串

s='a good student'
print(s[2:6])

一、字符串的操作函数

通过索引可以取出字符串当中的某些内容,除了取得字符串中的内容之外,是否还能够对字符串做其它操作呢?         

如果某个字符串s1在另一个字符串s2中出现过,那么我们称s1是s2的子串。

a good student-子串-good

1.字符串操作函数之len

Xiaotuzi 和 Maotouying 谁的名字的拼写长度比较长?

要测量某个字符串的长度,可以使用len函数

Xiaotuzi长度为8

Maotouying长度为10

Maotouying 名字的拼写长度比Xiaotuzi名字的拼写长度长。

2.len函数的使用方式:len(参数)

如果参数是字符串, 那么该函数会返回字符串的长度

练习:

编程实现求出'Xiaotuzi' 和 'Maotouying' 两个名字的长度

name1='Xiaotuzi'
name2='Maotouying'
print(len(name1))
print(len(name2))

3.字符串操作函数之find

  1. I am a good student
  2. 怎么判断这段话中是否含有good这个单词?
  3. 要查找个字符串是否是另一个字符串的子串,可以使用find函数
  4. good 是 I am a good student的一个子串。

(1).find函数的使用方式:字符串.find(参数)

find函数可以查找字符串中是否含有某个子串, 如果有,则返回第一个子串的位置, 否则返回-1,此处的参数可以是要查找的子串。

编程实现判断'good'是否为'I am a good student'的子串

I

a

m

a

g

o

o

d

s

t

u

d

e

n

t

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

第一次出现子串的位置:7

s='I am a good student'
t='good'
print(s.find(t))

(2).I am a good student

怎么判断这段话中是否含有bad这个单词呢?

s='I am a good student'
t='bad'
print(s.find(t))

4.字符串操作函数之replace

I do not like Python

怎么把这段话中的do not替换成really这个单词?

要将字符串中的子串替换成另一个字符串,可以使用replace函数

I do not like Python

替换do not 为 really

I really like Python

替换后的字符串为'I really like Python'。

4.1、replace函数的使用方式: 字符串.replace(参数1,参数2)        

replace函数可以将字符串中的子串替换成另一个字符串,其中参数1是要被替换的子串,参数2是新的要替换子串的字符串。 它的返回值是子串被替换后的新的字符串。

s='I do not like Python'
print(s.replace('do not','really'))

5.字符串操作函数之strip

'     happy day     '

怎么把这段话中的前后空白部分给去掉?

  1. 要去掉一个字符串的前后空白部分,可以使用strip函数
  2. 空白部分 happy day 空白部分
  3. 去掉空白部分        
  4. 替换后的字符串为'happy day'。

5.1、strip函数的使用方式:字符串.strip( )

strip函数可以将字符串中的前后空白部分去掉,此处没有参数。 它的返回值是字符串被去掉前后空白部分后的新的字符串

s=' happy day '
print(s.strip())

二、字符串的格式化输出

如何把变量按照一定的格式输出?

比如 a = 3, 输出:'变量的值是:3'

这就需要用到 格式化符号来实现 格式化输出!

1.什么是格式化?

格式化:按照一定的格式把字符串进行输出

在Python中,可以在字符串中添加格式化符号,使用运算符%来实现格式化输出,常用的格式化符号有:%d、%f 、%s

1.1字符串的格式化输出 - %d

%d是整数格式化符号,可以将字符串中对应的部分替换成整型变量a的值

a=3
print('变量的值是:%d' %a)

格式化符号 一定要和变量 配合使用吗?

答:不一定, 可以不用和变量配合使用

print('I am %d years old'%9)

有时我们需要特定的格式。

%03d、%3d、%-3d, 可以让数字占3个空格。

%03d :如果不足3位,左边用0补齐

%3d :如果不足3位,左边用空格补齐

%-3d:如果不足3位,右边用空格补齐

print('%03d'%6)
print('%3d'%6)
print('%-3d'%6)

2.字符串的格式化输出 - %f

%f是浮点数格式化符号,可以将字符串中对应的部分替换成浮点数

print('pi=%f'%3.1415926)

如果需要特定格式, %.2f 可以保留小数点后2位

%6.2f 可以保留小数点后2位,同时让结果占6个格,左边用空格补齐

print('pi=%.2f'%3.1415926)
print('pi=%6.2f'%3.1415926)

刚刚介绍了保留小数点后若干位输出的一种方法,实际上,还有另外一种方法也可以用来控制小数点位数的输出。

3.字符串的格式化输出 - %s

%s是字符串的格式化符号,可以将字符串中对应的部分替换为字符串

print('I am a %s'%'boy')

4.字符串的格式化输出

字符串中可以使用多个格式化符号

print('My name is %s,and I am %s years old'%('Tom',10))

练习:

1.打印一份乘法表:

print('%4d * %d =%d'%(1,1,1))
print('%4d * %d =%d'%(1,2,2),end='')
print('%4d * %d =%d'%(2,2,4))
print('%4d * %d =%d'%(1,3,3),end='')
print('%4d * %d =%d'%(2,3,6),end='')
print('%4d * %d =%d'%(3,3,9))

练习02:

军队拦截了一条敌军发送的密码信息,内容是:

password = 'C++ is the best computer programming language in the world.'

请对这个字符串做以下处理:

  1. 输出密码的长度
  2. 判断这个字符串是否包含 ‘programming’ 这部分内容,如果有输出它在字符串中第一次出现的位置,如果没有这部分内容,输出-1
  3. 把'C++'这部分内容替换为'Python'
password='C++ is the best computer programming language in the world'
print(len(password))
print(password.find('programming'))
print(password.replace('C++','Python'))

总结:

  1. 字符串常用操作函数
  2. 格式化占位符
  3. 保留小数位数输出

所有代码

x_str='3.14'
print(x_str)
y_int=float(x_str)
print(y_int)
s='a good student'
print(s[2:6])
name1='Xiaotuzi'
name2='Maotouying'
print(len(name1))
print(len(name2))
s='I am a good student'
t='bad'
print(s.find(t))
s='I do not like Python'
print(s.replace('do not','really'))
s=' happy day '
print(s)
print(s.strip())
a=3
print('变量的值是:%d' %a)
print('I am %d years old'%9)
print('%03d'%6)
print('%3d'%6)
print('%-3d'%6)
print('pi=%f'%3.1415926)
print('pi=%.2f'%3.1415926)
print('pi=%6.2f'%3.1415926)
pi='3.1415926'
k=4
print('%.*f' %(k,pi))
print('I am a %s'%'boy')
print('My name is %s,and I am %s years old'%('Tom',10))
print('%4d * %d =%d'%(1,1,1))
print('%4d * %d =%d'%(1,2,2),end='')
print('%4d * %d =%d'%(2,2,4))
print('%4d * %d =%d'%(1,3,3),end='')
print('%4d * %d =%d'%(2,3,6),end='')
print('%4d * %d =%d'%(3,3,9))
password='C++ is the best computer programming language in the world'
print(len(password))
print(password.find('programming'))
print(password.replace('C++','Python'))

“学而不思则罔,思而不学则殆。”
这句话强调了学习与思考相结合的重要性,只有将学习和思考相互配合,才能真正理解知识、掌握学问,避免陷入迷茫或陷入空想。

感谢大家支持!

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

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

相关文章

MySQL从0到1基础语法笔记(上)

博客主页:誓则盟约系列专栏:Java Web关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ 目录 MySQL笔记: 一、注释: 二、SQL四大类&#xff…

鸿蒙开发(NEXT/API 12)【应用加密】程序访问控制

能力简介 为了保护应用代码安全,保护开发者的核心资产,HarmonyOS提供了端到端的应用代码保护机制,该机制以系统安全为基础,构建内核级应用生命周期内的代码安全保护能力。 开发者向应用市场提交上架申请,上传应用包后…

<Rust>iced库(0.13.1)学习之番外:如何为窗口添加初始值?

前言 本专栏是学习Rust的GUI库iced的合集,将介绍iced涉及的各个小部件分别介绍,最后会汇总为一个总的程序。 iced是RustGUI中比较强大的一个,目前处于发展中(即版本可能会改变),本专栏基于版本0.12.1. 注:新版本已更新为0.13 概述 这是本专栏的番外篇,主要介绍一下新…

国产测径仪的发展历史

关键字:国产测径仪,进口测径仪,蓝鹏测控,测径仪厂家,测径仪品牌 国产测径仪的发展史是一段从引进技术到自主创新、从依赖进口到逐步国产替代的历程。以下是国产测径仪发展史上的几个关键阶段和里程碑: 起步与引进阶段 在早期,国内测径仪技术相对落后&a…

AI Agent现状:为何企业落地AI应用这么难

本文旨在探讨一个关键问题:为何在企业AI应用场景中,大模型应用在用户眼中显得乏善可陈,以至于未能激发出足够的实施意愿。简要来说,当前大多数文本相关应用所提供的智能增值不足,用户需要至少100次以96%准确率进行的LL…

虚拟化数据恢复—互斥不当导致vmfs卷损坏的数据恢复案例

虚拟化数据恢复环境: 某企业信息管理平台, 几台VMware ESX Server主机共享一台存储设备,大约有几十台虚拟机。 虚拟化故障&原因: Vcenter报告虚拟磁盘丢失。管理员通过ssh远程到ESX中执行fdisk -l命令查看磁盘,发…

第二十天|二叉搜索树的公共祖先,修改与构造| 235. 二叉搜索树的最近公共祖先, 701. 二叉搜索树中的插入操作,450. 删除二叉搜索树中的节点

关于二叉搜索树的题目,貌似普遍用迭代法比递归法简单。目前做到的除了98验证二叉搜索树都是如此。 701其实很简单,只是之前自己想不到直接添加到叶子节点这个方法。 注意一个问题:判断需要返回 root 还是 newRoot 返回 root:当操…

超好用的数据库连接工具-DBeaver连接ClickHouse后找不到系统表?

一、前言 公司内部禁止使用Navicat,又不想装JetBrains的DataGrip。找了半天找到这款完全开源的数据库连接工具,几乎可以连接市面上所有的数据库,功能非常强大 二、工具简介 对关系数据库的基本支持:MySQL、SQL Server、PostgreS…

双十一好物清单!这5款高端又实用的双十一好物千万别错过!

随着双十一购物狂欢节的临近,空气中开始弥漫着一股热烈而兴奋的购物气氛。在这个日子里,商品的折扣与优惠的都比较大,很多人都想挑选一款产品,但是,面对琳琅满目的好物,如何选择变成了一个难题,…

数组综合应用(下标计数)C++

第1题 铅笔 时限:1s 空间:256m 桌面有n个盒子,第i个盒子有a[i]支铅笔。 你想要得到尽量多的铅笔,但是如果某两个盒子有相同数量的铅笔,那么你是不能同时拥有这两个盒子的。 问你最多可以得到多少支铅笔。 输入…

Css flex布局下 两端对齐与居中对齐

两端对齐 <view class"top"><view class"history"><image src"../../static/avatar/history.png" mode"" style"width: 70rpx;height: 70rpx;;"></image></view><view class"title…

【LeetCode】每日一题 2024_10_8 旅行终点站(哈希)

前言 每天和你一起刷 LeetCode 每日一题~ LeetCode 启动&#xff01; 国庆结束了 . . . 力扣的每日一题也来到了终点站 题目&#xff1a;旅行终点站 代码与解题思路 func destCity(paths [][]string) string { // 国庆结束&#xff0c;旅途到了终点// 今天这道题算是一个小…

Qt Qml Map-地图绘制点与圆的切线

基于此源码替换 main.qml 文件https://download.csdn.net/download/qq_38159549/89860109https://download.csdn.net/download/qq_38159549/89860109 import QtQuick 2.5 import QtQuick.Window 2.2 import QtQuick.Controls 1.3 import QtLocation 5.3 import QtPositi…

【Linux】进程间通信——System V消息队列和信号量

一、消息队列 1.1 概念 进程间通信的原理是让不同进程看到同一份资源&#xff0c;资源种类的不同就决定了通信方式的差异。如果用管道通信&#xff0c;则资源是文件缓冲区&#xff1b;如果用共享内存&#xff0c;则资源是内存块 消息队列是由操作系统提供的资源&#xff0c;…

注意!新增一本期刊解除On Hold!仍有37本无法检索慎投!

On Hold期刊 2024年9月29日&#xff0c;小编从WOS数据库查到新增一本ESCI期刊《SOCAR Proceedings》解除On Hold标识 目前共37本期刊被标记&#xff0c;期刊整理如下&#xff0c;请注意避雷&#xff01; 01 解除风险期刊 SOCAR Proceedings • ISSN&#xff1a;2218-6867 •…

RAR解压缩软件的全面指南:压缩、加密、修复功能一应俱全

在日常文件管理中&#xff0c;压缩文件格式与解压缩工具是不可或缺的组成部分。而RAR格式&#xff0c;凭借其高效的压缩率、丰富的功能和灵活的文件管理方式&#xff0c;成为了用户最常使用的压缩格式之一。 作为处理RAR格式的专业工具&#xff0c;RAR解压缩软件具备压缩、加密…

马哥亲讲k8s集群搭建

文章目录 Docker和K8s安装1.docker安装2.安装cri-dockerd3.安装kubelet、kubeadm、kubectl4.整合kubelet和cri-dockerd 集群节点部署1.配置国内镜像站2.方式一&#xff1a;命令初始化1.kubeadm init2.保存初始化token3.拷贝/etc/kubernetes/admin.conf4.部署网络插件5.kubectl …

reactNative本地调试localhost踩坑

本地调试请求localhost的时候 1.要和电脑处在同一局域网下面&#xff08;同一个wifi&#xff09; 2.把baseURL的localhost改成命令行中ipconfig查询到的IPv4 地址 . . . . . . . . . . . . : &#xff08;例如&#xff09;192.168.1.103 如果报错Net Work Error&#xff0c;可…

算法知识点————贪心

贪心&#xff1a;只考虑局部最优解&#xff0c;不考虑全部最优解。有时候得不到最优解。 DP&#xff1a;考虑全局最优解。DP的特点&#xff1a;无后效性&#xff08;正在求解的时候不关心前面的解是怎么求的&#xff09;&#xff1b; 二者都是在求最优解的&#xff0c;都有最优…

如何扫描HTTP代理:步骤与注意事项

HTTP代理是一个复杂的过程&#xff0c;通常用于寻找可用的代理服务器&#xff0c;以便在网络中实现匿名或加速访问。虽然这个过程可以帮助用户找到适合的代理&#xff0c;但也需要注意合法性和道德问题。本文将介绍如何扫描HTTP代理&#xff0c;并提供一些建议和注意事项。 什…