python中的数据类型篇_1

📅2026/7/14 13:06:56 👁️次浏览
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(wer2322)print(bool(1))print(bool(0))print(bool(-1))print(bool())print(bool(0))print(wrqqacd)print(4.04)print(4.04)print(tttttt )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):FileE:\Code\pycharm\python_basic\test.py,line17,inmoduleprint(int(3.42))0、空字符串、None在条件判断语句中都等价于False, 其他数值都等价于True字符串3.42可以转成float类型数据3.423.42可以转成int类型数据3但是字符串3.42却不可以直接使用int函数转成31.1.2 数据类型推理请说出下面表达式结果的类型TrueFlase4555.0True答案如下字符串 字符串boolintfloatbool1.1.3 数学函数练习请在交互式解释器里回答下面的题目2的3次方7对2求模9除5要求有小数部分9除5要求没有小数部分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请用逗号分割字符串 stringPython is good,请将字符串里的Python替换成 python,并计算字母O出现了几次,和该字符串的长度 有一个字符串 stringpython修炼第一期.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* 字符串的末尾有一个*请将其删除 str1this is a bookstr2这是一本书请将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 这是一本书str1this is a bookstr2这是一本书print(str1str2)print(%s %s%(str1,str2))print(f{str1}{str2})strip() 方法用于移除字符串头尾指定的字符默认为空格或换行符或字符序列1.2.2 字符串切片练习列表和字符串的切片方式一样口述回答下面代码的执行结果num_str0123456789print(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(reverseTrue)print(lst)# 不能直接这样打印 print(lst.sort(reverseTrue))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]lstlstlst1print(id(lst))20033353198722003335322176加法拼接会把两个列表元素合成新列表再赋值给 lstlst 指向新内存id 变了要求内存地址不改变lst2[7,8,9]lst3[10,11,12]答案如下lst2[7,8,9]print(id(lst2))lst3[10,11,12]lst2lst3print(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, 91.4 字典练习题组合数据类型1.4.1 字典基本操作字典内容如下 dic{python:95,java:99,c:100}用程序解答下面的题目# 字典的长度是多少# 请修改java 这个key对应的value值为98# 删除 c 这个key# 增加一个 kvkey 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)# 增加一个 kvkey php, value 90dic[php]90print(dic)# 获取所有的 key 值存储在列表里lstlist(dic.keys())print(lst)# 获取所有的 value 值存储在列表里lst1list(dic.values())print(lst1)# 判断 javascript 是否在字典中print(javascriptindic)# 获得字典里所有 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]s1set(lst1)s2set(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 题元组里只有一个数据时必须有逗号如果没有逗号就变成了小括号一样