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

python中的数据类型篇_1

文章目录

    • 1.1 基本数据类型
      • 1.1.1 逻辑推理练习(类型转换)
      • 1.1.2 数据类型推理
      • 1.1.3 数学函数练习
    • 1.2 字符串练习题
      • 1.2.1 字符串内置方法练习
      • 1.2.2 字符串切片练习(列表和字符串的切片方式一样)
    • 1.3 列表练习题
      • 1.3.1 列表增删改练习
      • 1.3.2 取值赋值
      • 1.3.4 合并列表
      • 1.3.5 列表切片
    • 1.4 字典练习题(组合数据类型)
      • 1.4.1 字典基本操作
      • 1.4.2 字典应用(买水果)
    • 1.5 集合练习题(组合数据类型)
      • 1.5.1 集合间的运算
    • 1.6 元组练习题(组合数据类型)
      • 1.6.1 元组概念考察

1.1 基本数据类型

1.1.1 逻辑推理练习(类型转换)

不运行程序,说出下面程序的执行结果

print("sd"*3)print("wer"+"2322")print(bool("1"))print(bool("0"))print(bool(-1))print(bool(""))print(bool(0))print("wrqq">"acd")print(4.0==4)print("4.0"==4)print("ttt"=="ttt ")print(str(32))print(int(6.26))print(float(32))print(float("3.21"))print(int("434"))print(int("3.42"))

答案如下

sdsdsd wer2322TrueTrueTrueFalseFalseTrueTrueFalseFalse32632.03.21434Traceback(most recent call last):File"E:\Code\pycharm\python_basic\test.py",line17,in<module>print(int("3.42"))

0、空字符串""、None,在条件判断语句中都等价于False, 其他数值都等价于True

字符串"3.42"可以转成float类型数据3.42

3.42可以转成int类型数据3,但是字符串"3.42"却不可以直接使用int函数转成3

1.1.2 数据类型推理

请说出下面表达式结果的类型

"True""Flase"4>=555.0True

答案如下

字符串 字符串boolintfloatbool

1.1.3 数学函数练习

请在交互式解释器里回答下面的题目

23次方72求模95,要求有小数部分95,要求没有小数部分16,开平方8,开3次方

答案如下

print(2**3)print(7%2)print(9/5)print(9//5)print(2**3)importmathprint(math.sqrt(16))print(math.pow(8,1/3))

除法中,希望结果有小数部分时用/, 希望只保留整数部分时用 //

1.2 字符串练习题

1.2.1 字符串内置方法练习

在交互式解释器中完成下列题目

计算字符串"cd"在 字符串"abcd"中出现的位置 字符串"a,b,c,d",请用逗号分割字符串 string="Python is good",请将字符串里的Python替换成 python,并计算字母O出现了几次,和该字符串的长度 有一个字符串 string="python修炼第一期.html",请写程序从这个字符串里获得.html前面的部分,要用尽可能多的方式来做这个事情"this is a book",请用程序判断该字符串是否以this开头"this is a book",请用程序判断该字符串是否以apple结尾"This IS a book", 请将字符串里的大写字符转成小写字符"This IS a book", 请将字符串里的小写字符,转成大写字符"This IS a book", 请将每个单词的首字母转成大写" this is a book\n", 字符串的末尾有一个回车符,开始有一个空格,请将其删除"this is a book*", 字符串的末尾有一个*,请将其删除 str1="this is a book"str2="这是一本书"请将str1,str2两个字符串用3种方法进行拼接

答案如下

# 计算字符串 "cd" 在 字符串 "abcd"中出现的位置print("abcd".find("cd"))# 字符串 "a,b,c,d" ,请用逗号分割字符串print("abcd".split(","))# string = "Python is good",请将字符串里的Python替换成 python,并计算字母o出现了几次,和该字符串的长度print("Python is good".replace("Python","python"))print("Python is good".count("o"))# 有一个字符串 string = "python修炼第一期.html",请写程序从这个字符串里获得.html前面的部分,要用尽可能多的方式来做这个事情print("python修炼第一期.html".split('.')[0])# "this is a book",请用程序判断该字符串是否以this开头print("this is a book".startswith("this"))# "this is a book",请用程序判断该字符串是否以apple结尾print("this is a book".endswith("apple"))# "This IS a book",请将字符串里的大写字符转成小写字符print("This IS a book".lower())# "This IS a book",请将字符串里的小写字符,转成大写字符print("This IS a book".upper())# "This IS a book", 请将每个单词的首字母转成大写print("This IS a book".title())# " this is a book\n", 字符串的末尾有一个回车符,开始有一个空格,请将其删除print(" this is a book\n".strip())# "this is a book*", 字符串的末尾有一个*,请将其删除print("this is a book*".strip('*'))# 请将 str1 和 str2 两个字符串用3种方法进行拼接# str1 = "this is a book"# str2 = "这是一本书"str1="this is a book"str2="这是一本书"print(str1+str2)print("%s %s"%(str1,str2))print(f"{str1}{str2}")

strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列

1.2.2 字符串切片练习(列表和字符串的切片方式一样)

口述回答下面代码的执行结果

num_str="0123456789"print(num_str[2:6])print(num_str[2:])print(num_str[:6])print(num_str[:])print(num_str[::2])print(num_str[1::2])print(num_str[-1])print(num_str[2:-1])print(num_str[-2:])print(num_str[::-1])

字符串切片格式:[起始:结束:步长]

规则:
起始默认 0,结束默认末尾,步长默认 1
左闭右开:包含起始索引,不包含结束索引
负数索引:从末尾倒数,-1最后一位、-2倒数第二位

答案如下

2345234567890123450123456789起始、结束全省略,完整复制整个字符串024681357992345678899876543210步长=-1,代表倒序截取,字符串反转

1.3 列表练习题

1.3.1 列表增删改练习

已知一个列表 lst = [1,2,3,4,5]

找出元素4在列表中的索引 移除列表中索引为3的元素 求列表的长度 判断6是否在列表中 lst+[6,7,8]的结果是什么? lst*2的结果是什么 列表里元素的最大值是多少 列表里元素的最小值是多少 列表里所有元素的和是多少 在索引1的后面新增一个的元素10在列表的末尾新增一个元素20计算列表里元素的平均值 找出列表里最大值的个数 对列表里的元素进行排序 从大到小

答案如下

lst=[1,2,3,4,5]# 找出元素 4 所在列表中的索引print(lst.index(4))# 移除列表中索引为3的元素print(lst.remove(lst[3]))# 求列表的长度print(len(lst))# 判断 6 是否在列表中print(6inlst)# lst + [6, 7, 8] 的结果是什么?print(lst+[6,7,8])# lst * 2 的结果是什么print(lst*2)# 列表里元素的最大值是多少print(max(lst))# 列表里元素的最小值是多少print(min(lst))# 列表里所有元素的和是多少print(sum(lst))# 在索引 1 的后面新增一个的元素 10lst.insert(1,10)print(lst)# 在列表的末尾新增一个元素 20lst.append(20)print(lst)# 计算列表里元素的平均值print(sum(lst)/len(lst))# 找出列表里最大值的个数print(lst.count(max(lst)))# 对列表里的元素进行排序 从大到小lst.sort(reverse=True)print(lst)# 不能直接这样打印 print(lst.sort(reverse=True))

1.3.2 取值赋值

lst = [1, [4, 6], True] 请将列表里所有数字修改成原来的两倍

lst=[1,[4,6],True]lst[0]=2lst[1][0]=8lst[1][1]=12print(lst)

1.3.4 合并列表

要求:内存地址改变

lst=[1,2,3]lst1=[4,5,6]

答案如下

lst=[1,2,3]print(id(lst))lst1=[4,5,6]lst=lst+lst1print(id(lst))20033353198722003335322176

加法拼接会把两个列表元素合成新列表,再赋值给 lst,lst 指向新内存,id 变了

要求:内存地址不改变

lst2=[7,8,9]lst3=[10,11,12]

答案如下

lst2=[7,8,9]print(id(lst2))lst3=[10,11,12]lst2+=lst3print(id(lst2))20033353198722003335319872

列表的+=等价于lst2.extend(lst3),直接在原列表尾部追加元素,内存地址不变,id 一致

1.3.5 列表切片

列表和字符串的切片方式一样

下面的题目不允许写代码,仅凭思考来回答

lst=[2,5,6,7,8,9,2,9,9]lst[2:4]的值是什么 lst[1:-3]的值是什么 lst[-5]的值是什么 lst[:-4]的值是什么 lst[-4:]的值是什么

答案如下

lst=[2,5,6,7,8,9,2,9,9]# lst[2:4] 的值是什么print(lst[2:4])# 6, 7# lst[1: -3]的值是什么print(lst[1:-3])# 5, 6, 7, 8, 9# lst[-5]的值是什么print(lst[-5])# 8# lst[:-4] 的值是什么print(lst[:-4])# 2, 5, 6, 7, 8# lst[-4:] 的值是什么print(lst[-4:])# 9, 2, 9, 9

1.4 字典练习题(组合数据类型)

1.4.1 字典基本操作

字典内容如下 dic={'python':95,'java':99,'c':100}
用程序解答下面的题目# 字典的长度是多少# 请修改'java' 这个key对应的value值为98# 删除 c 这个key# 增加一个 kv,key = php, value = 90# 获取所有的 key 值,# 获取所有的 value 值,存储在列表里# 判断 javascript 是否在字典中# 获得字典里所有 value 的和# 获取字典里最大的value# 字典 dic1 = {'php': 97}, 将dic1的数据更新到dic中

答案如下

dic={'python':95,'java':99,'c':100}# 字典的长度是多少print(len(dic))# 请修改'java' 这个key对应的value值为98dic['java']=98print(dic)# 删除 c 这个keydeldic["c"]print(dic)# 增加一个 kv,key = php, value = 90dic['php']=90print(dic)# 获取所有的 key 值,存储在列表里lst=list(dic.keys())print(lst)# 获取所有的 value 值,存储在列表里lst1=list(dic.values())print(lst1)# 判断 javascript 是否在字典中print('javascript'indic)# 获得字典里所有 value 的和print(sum(dic.values()))# 获取字典里最大的valueprint(max(dic.values()))# 字典 dic1 = {'php': 97}, 将dic1的数据更新到dic中dic1={'php':97}dic.update(dic1)print(dic)

1.4.2 字典应用(买水果)

小明,小刚去超市里购买水果 小明购买了苹果,草莓,香蕉,一共花了89块钱,,小刚购买了葡萄,橘子,樱桃,一共花了87块钱 请从上面的描述中提取数据,存储到字典中,可以根据姓名获取这个人购买的水果种类和总费用。

答案如下

info={"小明":{"fruit":['苹果','草莓','香蕉'],"total":89.0},"小刚":{"fruit":['葡萄','橘子','樱桃'],"total":87.0}}

1.5 集合练习题(组合数据类型)

1.5.1 集合间的运算

lst1=[1,2,3,4,5,1,2]lst2=[4,5,6,7]哪些整数既在lst1中,也在lst2中 哪些整数在lst1中,不在lst2中 两个列表一共有哪些整数

答案如下

lst1=[1,2,3,4,5,1,2]lst2=[4,5,6,7]s1=set(lst1)s2=set(lst2)print(s1)# {1, 2, 3, 4, 5}print(s2)# {4, 5, 6, 7}# 哪些整数既在lst1中,也在lst2中print(s1.intersection(s2))# {4, 5}print(s2.intersection(s1))# {4, 5}# 哪些整数在lst1中,不在lst2中print(s1.difference(s2))# {1, 2, 3}print(s2.difference(s1))# {6, 7}# 两个列表一共有哪些整数print(s1.union(s2))# {1, 2, 3, 4, 5, 6, 7}

1.6 元组练习题(组合数据类型)

1.6.1 元组概念考察

写出下面代码的执行结果和最终结果的类型

(1,2)*2(1,)*2(1)*2

答案如下

print((1,2)*2)# (1, 2, 1, 2)print((1,)*2)# (1, 1)print((1)*2)# 2

第一题应该没有异议,关键是第 2 题和第 3 题,元组里只有一个数据时,必须有逗号,如果没有逗号,就变成了小括号一样

http://www.cnnetsun.cn/news/3370985.html

相关文章:

  • 3分钟永久激活Windows和Office:KMS智能激活工具完全指南
  • Windows 7虚拟机安装VMware Tools受阻?深入解析VMCI驱动与SHA-2签名冲突的根源与解决之道
  • Keras-MMoE源码解读:深入理解MMoE层的实现细节和数学原理
  • B站视频下载神器:免费解锁大会员4K与充电专属内容
  • 主动学习实战:Awesome open data-centric AI框架提升标注效率
  • 计算机小程序毕设实战-面向海产品行业的产销信息化管理系统的设计与实现 海产品加工流程管控与线上销售平台的设计与实现【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • OpenGL 入门(一)—— 从零构建你的第一个着色器程序
  • unrpyc:5个步骤轻松掌握Ren‘Py脚本反编译工具完整指南
  • RedisFullCheck 与 RedisShake 集成:数据迁移后的完整性验证最佳实践
  • 如何用RVC语音转换工具打造专属AI歌手:5步快速上手完整指南
  • ChatGPT输出格式总翻车?这5个隐藏参数比temperature更重要(实测降低97.3%格式错误率)
  • 免费德州扑克GTO求解器Desktop Postflop:从零开始掌握游戏理论最优策略
  • 2026年AI大模型API网关选型:五大聚合平台并发、计费与运维深度拆解
  • 别急着换赛道:运维经验在 AI 项目里到底值多少?
  • LM5141-Q1汽车级同步降压控制器EMI优化与电源设计实战
  • 沃德灵:共生免Steam版一键安装与优化全攻略
  • 外贸独立站源码交付到底靠不靠谱?宅客网络一站式方案深度解析
  • 3分钟解锁B站4K大会员画质:免费B站视频下载器完整指南
  • 3分钟学会无损视频剪辑:LosslessCut 终极使用指南
  • NBM7100A与PIC18F4455实现纽扣电池高效能管理方案
  • LTC6903数字控制振荡器与PIC18LF45K42的嵌入式时钟设计
  • 多模态适配器技术深度解析:基于Awesome-Prompt-Adapter-Learning-for-VLMs-CLIP的MMA方法
  • TDES954 FPD-Link III解串器V3Link端口I2C寄存器配置实战指南
  • WIN+R 进阶指南:解锁隐藏的系统管理工具
  • 终极免费压缩包密码恢复工具:简单高效的密码测试解决方案
  • 医疗影像分析技术:从深度学习到临床应用
  • 鸣潮自动化工具技术架构解析:基于YOLOv8与计算机视觉的智能辅助方案
  • 一文了解C-Fast-FoundationStereo训练数据:10亿级图像如何打造顶尖模型
  • Python类与面向对象编程:wr/write-pythonic-code-demos中的封装与属性管理
  • 焊缝缺陷视觉质检系统:YOLOv8工业场景数据集与训练全栈实战