当前位置:   article > 正文

python基础练习题之数据类型篇_python数据类型练习

python数据类型练习

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

  1. 1.4.0 == 4 # True
  2. 2."4.0" == 4 # False
  3. 3.bool("1") # True
  4. 4.bool("0") # True
  5. 5.str(32) # '32'
  6. 6.int(6.26) # 6
  7. 7.float(32) # 32.0
  8. 8.float("3.21") # 3.21
  9. 9.int("434") # 434
  10. 10.int("3.42") # 报错
  11. 11.bool(-1) # True
  12. 12.bool("") # False
  13. 13.bool(0) # False
  14. 14."wrqq" > "acd" # True
  15. 15."ttt" == "ttt " # False
  16. 16."sd"*3 # "sdsdsd"
  17. 17."wer" + "2322" # 'wer2322'
  18. '''
  19. 布尔类型:布尔类型转换数据时,空字符串,0,和none输出false,其他均为true
  20. int:int可以将由纯整数构成的字符串直接转换成整型,若包含其他任意非整数符号,则会报错
  21. 两个字符串在比较大小时,比较的不是长度,而是内容,当字符串左对齐时,依次往后比较大小,直至分出胜负 # a最大
  22. "sd"*3的意思是sd重复三次并生成一个新的字符串
  23. '''
  24. 数据类型的考察
  25. 1."True" # str
  26. 2."False" # str
  27. 3.4 >= 5 # bool
  28. 4.5 # int
  29. 5.5.0 # float
  30. 6.True # bool
  31. 基本运算符
  32. 1.35次方 # 3 ** 5 243
  33. 2.72求模 # 7 % 2 1
  34. 3.95,要求有小数部分 # 9 / 5 1.8
  35. 4.95,要求没有小数部分 # 9 // 5 1
  36. 5.用程序计算根号16 # 16 ** 0.5 4.0
  37. '''
  38. 1.幂运算用两个*表示,2的2次方为 2 ** 2
  39. 2.求模运算用% 即取余数
  40. 3.除法中,结果要有小数用/,不要小数用//
  41. 4.开根号可以用两个方法:
  42. i.平方根即二分之一次方,立方根三分之一次方等
  43. ii.用math模块中的sqrt方法
  44. '''

字符串练习

  1. 1.将字符串"abcd"转换成大写 # "abcd".upper()
  2. 2.计算字符串"cd"在 字符串"abcd"中出现的位置 # "abcd".find('cd')
  3. 3.字符串 "a,b,c,d",请用逗号分割字符串,分割后的结果是什么类型的? # "a,b,c,d".split(',') ['a', 'b', 'c', 'd']
  4. 4."{name}喜欢{fruit}".format(name="李雷")执行会出错,请修改代码让其正确执行 # "{name}喜欢{fruit}".format(name="李雷",fruit="苹果") 有两个需要传递的参数 format方法只传了一个会报错
  5. 5. string = "Python is good", 请将字符串里的Python替换成python,并输出替换后的结果
  6. res = string.replace('Python','python')
  7. print(res) # python is good
  8. 6.有一个字符串 string = "python修炼第一期.html",请写程序从这个字符串里获得.html前面的部分,要用尽可能多的方式来做这个事情
  9. print(string[0:-5])
  10. print(string[0:string.find('.html')])
  11. 7.如何获取字符串的长度? # len
  12. 8. "this is a book",请将字符串里的book替换成apple
  13. print("this is a book".replace('book','apple'))
  14. 9. "this is a book", 请用程序判断该字符串是否以this开头
  15. print("this is a book".startswith('this'))
  16. 10. "this is a book",请用程序判断该字符串是否以apple结尾
  17. print("this is a book".endswith('apple'))
  18. 11. "This IS a book",请将字符串里的大写字符转成小写字符
  19. print("This IS a book".lower())
  20. 12. "This IS a book",请将字符串里的小写字符,转成大写字符
  21. print("This IS a book".upper())
  22. 13. "this is a book\n",字符串的末尾有一个回车符,请将其删除
  23. print("this is a book\n".strip())

逻辑推理练习(字符串)

  1. 不用代码,口述回答下面代码的执行结果
  2. string = 'Python is good'
  3. 1. string[1:20] # ython is good
  4. 2. string[20] # 报错
  5. 3. string[3:-4] # hon is
  6. 4. string[-10:-3] # on is g
  7. 5. string.lower() # python is good
  8. 6. string.replace('o', '0') # pyth0n is g00d
  9. 7. string.startswith('python') # False
  10. 8. string.split() # ['Python','is','good']
  11. 9. len(string) # 14
  12. 10. string[30] # 报错
  13. 11. string.replace(' ', ''# Python is good

列表与元组练习

  1. 已知—个列表
  2. lst = ['1','2','3','4','5']
  3. 1. 求列表的长度 # print(len(lst)) // 5
  4. 2. 判断6 是否在列表中 # print(6 in lst) // False
  5. 3. lst + [6, 7, 8] 的结果是什么? # print(lst + [6,7,8]) // [1,2,3,4,5,6,7,8]
  6. 4. lst*2 的结果是什么 # print(lst*2) // [1,2,3,4,5,1,2,3,4,5]
  7. 5. 列表里元素的最大值是多少 # print(max(lst)) // 5
  8. 6. 列表里元素的最小值是多少 # print(min(lst)) // 1
  9. 7. 列表里所有元素的和是多少 # print(sum(lst)) // 15
  10. 8. 在索引1的后面新增—个的元素10 # lst.insert(0,'10') // print(lst)
  11. 9. 在列表的末尾新增—个元素20 # lst.append(20) // print(lst)

修改列表

  1. 已知lst = [1, [4, 6], True];请将列表中元素的值变为原来的两倍
  2. lst[0]=2
  3. lst[1][0]=8
  4. lst[1][1]=12
  5. print(lst)
  6. '''
  7. 补充:
  8. 对列表排序使用sort方法,默认值为False即升序排列。reverse用来指定是否跌倒排序
  9. '''
  10. lst = [11,111,22,33,2223,65,46,3,564,332,1123]
  11. lst.sort()
  12. print(lst) # [3, 11, 22, 33, 46, 65, 111, 332, 564, 1123, 2223]
  13. lst.sort(reverse=True)
  14. print(lst) # [2223, 1123, 564, 332, 111, 65, 46, 33, 22, 11, 3]

合并列表

  1. 下面有两个列表,请将lst2中的数据合并到lst1的末尾,不使用'+'
  2. lst1=[1,2,3]
  3. lst2=[4,5,6]
  4. print(id(lst1))
  5. lst1.extend(lst2)
  6. print(lst1)
  7. print(id(lst1))
  8. '''
  9. 2444543130880
  10. [1, 2, 3, 4, 5, 6]
  11. 2444543130880
  12. 使用print(id(lst1))输出lst1的内存卡空间地址,发现前后并没有任何变化,说明在合并过程中没有产生新的列表
  13. '''

元组

  1. 写出下面代码的最终执行结果和最终结果的类型
  2. 1.1, 2)*2 # (1,2,1,2) // 元组
  3. 2.1, )*2 # (1,1) // 元组
  4. 3.1)*2 # 2 // int
  5. '''
  6. 当元组中只有一个数据的时,必须要有逗号,如果省略了逗号,那么小括号的作用就不再是表示元组,而是表示运算优先级
  7. '''

合并字符串

  1. str1 = "1,2,3"
  2. str2 = "4,5,6"
  3. print(id(str1))
  4. str1 += str2
  5. print(str1)
  6. print(id(str1))
  7. '''
  8. 2257389437680
  9. 1,2,34,5,6
  10. 2257389448688
  11. 这个过程中,产生了新的字符串,字符串是不可变对象。
  12. 本质上是产生了新的字符串并赋值给str1 合并前后的内存地址是不一样的
  13. '''

统计练习

  1. lst = [2, 5, 6, 7, 8, 9, 2, 9, 9]
  2. 1. 找出列表里的最大值 # max(lst) // 9
  3. 2. 找出列表里的最小值 # min(lst) // 2
  4. 3. 找出列表里最大值的个数 # lst.count(max(lst)) // 3
  5. 4. 计算列表里所有元素的和 # sum(lst) // 57
  6. 5. 计算列表里元素的平均值 # sum(lst)/int(len(lst)) // 6.3333333333
  7. 6. 计算列表的长度 # len(lst) // 9
  8. 7. 找出元素6在列表中的索引 # lst.index(6) // 2
  9. '''
  10. 思考:
  11. 1.lst[2:4] 的值是什么 # [6,7]
  12. 2.lst[1: -3]的值是什么 # [5,6,7,8,9]
  13. 3.lst[-5]的值是什么 # 8
  14. 4.lst[:-4] 的值是什么 # [2,5,6,7,8,9]
  15. 5.lst[-4:] 的值是什么 # [9,2,9,9]
  16. '''
  17. 列表的切片操作,最关键的—点在于左闭右开,结束位置的数据不会列入结果中

列表操作练习

  1. lst = [2, 5, 6, 7, 8, 9, 2, 9, 9]
  2. 1. 找出列表里的最大值 # max(lst) // 9
  3. 2. 找出列表里的最小值 # min(lst) // 2
  4. 3. 找出列表里最大值的个数 # lst.count(max(lst)) // 3
  5. 4. 计算列表里所有元素的和 # sum(lst) // 57
  6. 5. 计算列表里元素的平均值 # sum(lst)/int(len(lst)) // 6.3333333333
  7. 6. 计算列表的长度 # len(lst) // 9
  8. 7. 找出元素6在列表中的索引 # lst.index(6) // 2
  9. '''
  10. 思考:
  11. 1.lst[2:4] 的值是什么 # [6,7]
  12. 2.lst[1: -3]的值是什么 # [5,6,7,8,9]
  13. 3.lst[-5]的值是什么 # 8
  14. 4.lst[:-4] 的值是什么 # [2,5,6,7,8,9]
  15. 5.lst[-4:] 的值是什么 # [9,2,9,9]
  16. '''
  17. 列表的切片操作,最关键的—点在于左闭右开,结束位置的数据不会列入结果中

复杂列表练习

  1. lst = [1, 4, 5, [1, 3, 5, 6, [8, 9, 10, 12]]]
  2. 1. 列表lst的长度是多少 # len(lst) // 4
  3. 2. 列表lst中有几个元素 # 4
  4. 3. lst[1] 的数据类型是什么 # int
  5. 4. lst[3]的数据类型是什么 # list
  6. 5. lst[3][4] 的值是什么 # [8,9,10,12]
  7. 6. 如果才能访问到 9 这个值 # lst[3][4][1]
  8. 7. 执行lst[3][4].append([56])后,列表lst的内容是什么,手写出来 # [1, 4, 5, [1, 3, 5, 6, [8, 9, 10, 12, [5, 6]]]]
  9. 8. lst[-1][-1][-2]的值是什么 # 10
  10. 9. lst[-2]的值是什么 # 5
  11. 10. len(lst[-1])的值是什么 # 5
  12. 11. len(lst[-1][-1])的值是什么 # 4
  13. 12. lst[-1][1:3] 的值是什么 # [3,5]
  14. 13. lst[-1][-1][1:-2]的值是什么 # [9]

字典练习

  1. dic = {
  2. 'python': 95,
  3. 'java': 99,
  4. 'c': 100
  5. }
  6. 1. 字典的长度是多少 # len(dic)
  7. 2. 请修改'java' 这个key对应的value值为98 # dic['java'] = 98
  8. 3. 删除 c 这个key # del dic['c'] dic.pop('c')
  9. 4. 增加—个key-value对, key值为 php, value是90 # dic['php'] = 90
  10. 5. 获取所有的key值,存储在列表里 # list = list(dic.keys())
  11. 6. 获取所有的value值,存储在列表里 # list = list(dic.values())
  12. 7. 判断 javascript 是否在字典中 # 'javascript' in dic
  13. 8. 获得字典里所有value的和 # sum(dic.values())
  14. 9. 获取字典里最大的value # max(dic.values())
  15. 10. 获取字典里最小的value # min(dic.values())
  16. 11. 字典 dic1 = {'php': 97},将dic1的数据更新到dic中 # dic.update(dic1)
  17. '''
  18. 案例:
  19. # 小明,小刚去超市里购买水果
  20. # 小明购买了苹果,草每,香蕉, —共花了89块钱,,小刚购买了葡萄,橘子,樱桃, —共花 了87块钱
  21. # 请从上面的描述中提取数据,存储到字典中,可以根据姓名获取这个人购买的水果种类和总费 用。
  22. info = {
  23. '小明': {
  24. 'fruits': ['苹果', '草莓', '香蕉'],
  25. 'money': 89
  26. },
  27. '小刚': {
  28. 'fruits': ['葡萄', '橘子', '樱桃'],
  29. 'money': 87
  30. }
  31. }
  32. print(info.get('小明'))
  33. '''

集合练习

  1. lst1 = [1, 2, 3, 5, 6, 3, 2]
  2. lst2 = [2, 5, 7, 9]
  3. s1 = set(lst1)
  4. s2 = set(lst2)
  5. 哪些整数既在lst1中,也在lst2中 # s4 = s1&s2 # {2, 5} 交集
  6. 哪些整数在lst1中,不在lst2中 # s5 = s1-s2 # {1, 3, 6} 差集
  7. 两个列表—共有哪些整数 # s3 = s1|s2 # {1, 2, 3, 5, 6, 7, 9} 并集
  8. 哪些数不是两个列表共有的 # s6 = s1^s2 # {1, 3, 6, 7, 9} 对称差集

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/640772
推荐阅读
相关标签
  

闽ICP备14008679号