首页 > 编程语言 >Python练习:数据类型篇

Python练习:数据类型篇

时间:2024-08-09 13:58:34浏览次数:16  
标签:10 string Python 练习 数据类型 列表 lst book 字符串

一、逻辑推理练习

   1、在不运行下面程序的前提下,说出答案。  
1. 4.0 == 4
2. "4.0" == 4
3. bool("1")
4. bool("0")
5. str(32)
6. int(6.26)
7. float(32)
8. float("3.21")
9. int("434")
10. int("3.42")
11. bool(-1)
12. bool("")
13. bool(0)
14. "wrqq" > "acd"
15. "ttt" == "ttt "
16. "sd"*3
17. "wer" + "2322"

答案如下:

1.	True
2.	False
3.	True
4.	True
5.	'32'
6.	6
7.	32.0
8.	3.21
9.	434
10.	会报错
11.	True
12.	False
13.	False
14.	True
15.	False
16.	"sdsdsd"
17.	'wer2322'

对以上答案有所困惑,不妨看看下面对一些知识点的讲解:

(1)bool函数转换规则
        bool函数进行转换时,其结果取决于传入参数与True和False的等价关系,只需记住一点即可。0,空字符串,None在条件判断语句中等价于False,其他数值都等价于True,bool函数在做数据类型转换时遵循该原则
(2)int("3.42")为什么会报错
        字符串"3.42"可以转成foat类型数据3.42,3.42可以转成int类型数据3,但是字符串"3.42"却不可以直接使用int函数转成3,讲实话,我也觉得这个函数有些不灵活,或许是语言的发明老有自己的考虑吧,咱们对这种问题,不必深究,先做到知道它是什么,将来再去研究为什么
(3)字符串大小比较规则
两个字符串在比较大小时,比的不是长度,而是内容
字符串左对齐后,逐个字符依次比较,直到可以分出胜负
(4) "sd"*3
''sd"*3 的意思是sd重复3次,生成一个新的字符串

2、请根据下列题目编写代码

1.	3的5次⽅
2.	7对2求模
3.	9除5,要求有⼩数部分
4.	9除5,要求没有⼩数部分
5.	⽤程序计算根号16,也就是16的2分之⼀次⽅

答案如下:

1.	3**5
2.	7%2
3.	9/5
4.	9//5
5.	import	math
	math.sqrt(16)

知识点:

(1).幂运算用两个 " * " ,2的2次方表示为2**2;
(2).求模运算用%,其实就是求余数;
(3).除法中,希望结果有小数部分时用 ' / ',希望只保留整数部分时用 ' // ';
(4).开根号,要用到 math 模块的 sqrt() 方法,这个题目需要你自己去百度或是谷歌,第一次明
确的建议你,一定要好好利用搜索引擎,不会用搜索引擎的程序员,永远是菜鸟。

二、字符串练习

1、编写程序完成下列问题:

1.将字符串"abcd" 转成大写
2.计算字符串“cd"在 字符串"abcd"中出现的位置
3.字符串“a,b,c,d",请用逗号分割字符串,分割后的结果是什么类型的?
4."{name}喜欢{fruit}".format(name="李雷")"执行会出错,请修改代码让其正确执行
5.string ="Python is good",请将字符串里的Python替换成 python,并输出替换后的结果
6.有一个字符串 string ="python修炼第一期.html",请写程序从这个字符串里获得.html
前面的部分,要用尽可能多的方式来做这个事情
7.如何获取字符串的长度?
8."this is a book",请将字符串里的book替换成apple
9. "this is a book",请用程序判断该字符串是否以this开头
10."this is a book",请用程序判断该字符串是否以apple结尾
11. "This lS a book",请将字符串里的大写字符转成小写字符
12. "This lS a book",请将字符串里的小写字符,转成大写字符
13."this is a book\n",字符串的末尾有一个回车符,请将其删除

答案如下:

1.	"abcd".upper()
2.	"abcd".find('cd')
3.	"a,b,c,d".split(',')
4.	"{name}喜欢{fruit}".format(name="李雷",	fruit='苹果')
5.	string.replace('Python',	'python')
6.	string[0:string.find('.html')]	或者string[0:-5]
7.	使⽤len函数
8.	"this	is	a	book".replace('book',	'apple')
9.	"this	is	a	book".startswith('this')
10.	"this	is	a	book".endswith('apple')
11.	"This	IS	a	book".lower()
12.	"This	IS	a	book".upper()
13.	"this	is	a	book\n".strip()

至于最终答案,希望大家自己去实践以下,加深对各个函数用法的印象。

2、字符串的逻辑推理练习

        请回答下列问题:

string ="Python is good" #字符串的长度为14,正数0~13,倒数-1~-14
1. string[1:20]
2. string[20]
3. string[3:-4]
4. string[-10:-3]
5. string.lower()
6. string.replace("o","0")
7. string.startswith('python')
8. string.split()
9. len(string)
10.string[30]
11. string.replace(" ",")

答案如下:

1.	'ython	is	good'
2.	报错
3.	'hon is	'
4.	'on	is	g'
5.	'python	is	good'
6.	'Pyth0n	is	g00d'
7.	False
8.	['Python',	'is',	'good']
9.	14
10.	报错
11.	'Pythonisgood'

提示:

第2题和第10题都报错,是因为超出了索引范围,字符串长度为14,你去20和30的位置取
值,当然会报错

知识点:

        关于切片操作,只需要知道从哪里开始到哪里结束就一定能推导出答案,以string[3:-4]为例,3是开始的位置,-4是结束的位置,但这个范围是左闭右开的,从3开始没错,但不会到-4,而是到-5,更前面的一个位置,python支持负数索引,或者说是反向索引,从右向左从-1开始逐渐减小。
第一题中,做切片的时候是从1开始,到20结束,即便是右开,直到19,也仍然超出了索引范围,为什么不报错呢,这就是语言设计者自己的想法了,切片时,不论是开始位置还是结束位置,超出索引范围都不会报错,由于切片是一个范围操作,这个范围内有值就切出来,没值返回空字符串就好了。

3、列表与元组

(1).列表基础练习

lst = [1,2,3,4,5]
1.求列表的长度
2.判断6 是否在列表中
3.lst +[6,7,8]的结果是什么?
4.lst*2 的结果是什么
5.列表里元素的最大值是多少
6.列表里元素的最小值是多少
7.列表里所有元素的和是多少
8.在索引1的后面新增一个的元素10
9.在列表的末尾新增一个元素20

答案:

1.	len(lst)
2.	6	in	lst
3.	[1,2,3,4,5,6,7,8]
4.	[1,	2,	3,	4,	5,	1,	2,	3,	4,	5]
5.	max(lst)
6.	min(lst)
7.	sum(lst)
8.	lst.insert(1,10)
9.	lst.append(20)

(2).元组基础练习

写出下面代码的执行结果和最终结果的类型
1.(1, 2)*2
2.(1, )*2
3.(1)*2

答案:

1.	(1,	2,	1,	2)
2.	(1,	1)
3.	2

       第2题和第3题,元组里只有一个数据时,必须有逗号,如果没有逗号,就变成了第3题的形式,第3题本质上是1*2,那对小括号就如同我们小学学过的小括号一样,只是为了体现运算优先级而已,当元组只有一个数据时,如果不省略了逗号,那么小括号的作用就不再是表示元组,而是表示运算优先级。

(3).列表合并

lst = [1,2,3]
lst2 = [4,5,6]
不使用 +号运算符,将lst2合并到lst的末尾,并思考,这个过程中,是否产生了新的列表

答案:

lst.extend(lst2)

 这个过程中不会产生新的列表,最直观的检验方式就是print(id(lst)),合并前后,lst的内存地址都没有发生变化,只是列表里的内容发生了变化。

(4).统计练习

lst	= [2, 5, 6, 7, 8, 9, 2, 9, 9]
1.找出列表里的最大值
2.找出列表里的最小值
3.找出列表里最大值的个数
4.计算列表里所有元素的和
5.计算列表里元素的平均值
6.计算列表的长度
7.找出元素6在列表中的索引

答案:

1.	max(lst)
2.	min(lst)
3.	lst.count(max(lst))
4.	sum(lst)
5.	sum(lst)/float(len(lst))
6.	len(lst)
7.	lst.index(6)

标签:10,string,Python,练习,数据类型,列表,lst,book,字符串
From: https://blog.csdn.net/dragon__chen1078/article/details/141058773

相关文章

  • MySQL——使用Python操作MySQL
    文章目录安装PyMySQL使用PyMySQL操作MySQL在Python中操作MySQL数据库时,我们使用较多的库是PyMySQL,如果你选择使用PyMySQL库,那么首先需要通过pip安装它。pipinstallpymysql命令就是用来安装PyMySQL的。安装PyMySQL1.打开你的命令行工具(如cmd、PowerShell、......
  • Python按条件删除Excel表格数据的方法
      本文介绍基于Python语言,读取Excel表格文件,基于我们给定的规则,对其中的数据加以筛选,将不在指定数据范围内的数据剔除,保留符合我们需要的数据的方法。  首先,我们来明确一下本文的具体需求。现有一个Excel表格文件(在本文中我们就以.csv格式的文件为例),如下图所示。  其中,Ex......
  • Python 提取出SQL语句中Where的值的方法
    1.方法一:使用sqlparse库的方法为了提取SQL语句中WHERE子句的值,我们可以利用Python的sqlparse库,这是一个专门用于解析SQL语句的库。以下是一个示例代码,演示如何使用sqlparse来提取WHERE子句中的条件。首先,确保安装了sqlparse库。如果未安装,可以使用pip安装:bash复制代码pipins......
  • 12-python函数的传参——形参、实参、装包 *args和**kwargs
    函数的参数1形参和实参函数的参数:在定义函数时,可以再函数名后()中定义数量不等的形参,注意可以有也可以没有,可有一个也可有多个,多个形参之间用逗号隔开形参(形式参数):定义形参就相当于在函数内部声明了变量,但是并不赋值实参(实际参数):在函数定义时指定了形参,在调用的时......
  • 《信息学奥赛一本通编程启蒙》3031-3050(Scratch、C、C++、python)
    3031:练7.3买图书(C、C++、python)3031:练7.3买图书(C、C++、python)-CSDN博客3032:练7.4梯形面积(C、C++、python)3032:练7.4梯形面积(C、C++、python)-CSDN博客3033:【例8.1】人民币支付(Scratch、C、C++、python)3033:【例8.1】人民币支付(Scratch、C、C++、python)-CSDN博客3......
  • Python酷库之旅-第三方库Pandas(074)
    目录一、用法精讲301、pandas.Series.dt.components属性301-1、语法301-2、参数301-3、功能301-4、返回值301-5、说明301-6、用法301-6-1、数据准备301-6-2、代码示例301-6-3、结果输出302、pandas.Series.dt.to_pytimedelta方法302-1、语法302-2、参数302-3、......
  • python-docx 将文档根据标题二拆分为多个docx文件
    python-docx将文档根据标题二拆分为多个docx文件时隔好久,又开始搞文档了感觉搞来搞去还不如手动复制粘贴得了……只是文本内容–>简单文本内容自定义样式保持不变(有点难度)提取文档中的图片、表格(简单)按照顺序还原图片、表格到文档中,并且不改变样式(累了,毁灭吧)题注、......
  • 【Python版本】气象局天气数据采集
    分析寻找数据url经过详细的分析,发现网络请求中有一个get请求是返回全国天气最新数据。接口是这个:https://weather.cma.cn/api/map/weather/1?t=1723174351500查看请求的类型从请求头信息中发现:连接+请求方式是get查看数据从这里我们可以看到返回数据的时间于更新时......
  • open3d python 法线估计
    测试效果废话Open3D中的法线估计是一个重要的功能,它可以帮助用户了解三维点云中每个点的局部表面方向。以下是对Open3D法线估计的详细解释:一、法线估计的基本原理法线估计通常基于局部表面拟合的方法。在点云数据中,每个点的局部邻域可以视为一个平面或曲面的近似。通......
  • jenkins的shell command中如何让python 实时显示执行日志
    在使用Jenkins的shellcommand里面执行python脚本时,我们希望在构建shell脚本时可以实时输出日志,但是在构建python脚本时,是等到python执行完成以后,才显示结果,这个对于我们判断脚本执行状态非常不友好。而之所以会出现这种情况,是因为python默认是有缓存的,所以我们需要禁用输入......