Python 简单练习题100道,

Python 简单练习题100道, 涵盖列表、字典、元组、集合、字符串、格式化输出、类型和整数转换、文件读写、杂项等9个类别。

答案见后

1. 将元组 (1,2,3) 和集合 {4,5,6} 合并成一个列表。

2. 在列表 [1,2,3,4,5,6] 首尾分别添加整型元素 7 和 0。

3. 反转列表 [0,1,2,3,4,5,6,7] 。

4. 反转列表 [0,1,2,3,4,5,6,7] 后给出中元素 5 的索引号。

5. 分别统计列表 [True,False,0,1,2] 中 True,False,0,1,2的元素个数,发现了什么?

6. 从列表 [True,1,0,'x',None,'x',False,2,True]中删除元素'x'。

7. 从列表 [True,1,0,'x',None,'x',False,2,True] 中删除索引号为4的元素。

8. 删除列表中索引号为奇数(或偶数)的元素。

9. 清空列表中的所有元素。

10. 对列表 [3,0,8,5,7] 分别做升序和降序排列。

11. 将列表 [3,0,8,5,7] 中大于 5 元素置为1,其余元素置为0。

lst=[3,0,8,5,7]

for k,v in enumerate(lst):

    if v>5:

        lst[k]=1

    else:

        lst[k]=0

12. 遍历列表 ['x','y','z'],打印每一个元素及其对应的索引号。

lst=[3,0,8,5,7]

for k,v in enumerate(lst):

    print(k,v)

13. 将列表 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 拆分为奇数组和偶数组两个列表。

lst=[0,1,2,3,4,5,6,7,8,9]

leven=lst[::2]

lodd=lst[1::2]

14. 分别根据每一行的首元素和尾元素大小对二维列表 [[6, 5], [3, 7], [2, 8]] 排序。

lst=[[6,5],[3,7],[2,8]]

lst.sort()

lst.sort(key=lambda x:x[-1])

15. 从列表 [1,4,7,2,5,8] 索引为3的位置开始,依次插入列表 ['x','y','z'] 的所有元素。

lst1=[1,4,7,2,5,8]

lst2=['x','y','z']

lst=lst1[:3]+lst2+lst1[3:]

16. 快速生成由 [5,50) 区间内的整数组成的列表。

lst=list(range(5,50))

17. 若 a = [1,2,3],令 b = a,执行 b[0] = 9, a[0]亦被改变。为何?如何避免?

改为b=a.copy()

18. 将列表 ['x','y','z'] 和 [1,2,3] 转成 [('x',1),('y',2),('z',3)] 的形式。

lst=list(zip(['x','y','z'],[1,2,3])) #打包为元组的列表

19. 以列表形式返回字典 {'Alice': 20, 'Beth': 18, 'Cecil': 21} 中所有的键。

    s1={'Alice':20,'Beth':18,'Cecil':21}

    list(s1.keys())

20. 以列表形式返回字典 {'Alice': 20, 'Beth': 18, 'Cecil': 21} 中所有的值。

    list(s1.values())

21. 以列表形式返回字典 {'Alice': 20, 'Beth': 18, 'Cecil': 21} 中所有键值对组成的元组。

    list(s1.items())

22. 向字典 {'Alice': 20, 'Beth': 18, 'Cecil': 21} 中追加 'David':19 键值对,更新Cecil的值为17。

    s1['David']=19

s1['Cecil']=17

23. 删除字典 {'Alice': 20, 'Beth': 18, 'Cecil': 21} 中的Beth键后,清空该字典。

s1.pop('Beth')

s1.clear()

24. 判断 David 和 Alice 是否在字典 {'Alice': 20, 'Beth': 18, 'Cecil': 21} 中。

s1={'Alice':20,'Beth':18,'Cecil':21}

'David' in s1

'Alice' in s1

25. 遍历字典 {'Alice': 20, 'Beth': 18, 'Cecil': 21},打印键值对。

for k,v in s1.items():

    print(k,v)

26. 若 a = dict(),令 b = a,执行 b.update({'x':1}), a亦被改变。为何?如何避免?

    改为b=a.copy()

27. 以列表 ['A','B','C','D','E','F','G','H'] 中的每一个元素为键,默认值都是0,创建一个字典。

    s1={x:0 for x in ['A','B','C','D','E','F','G','H']}

28. 将二维结构 [['a',1],['b',2]] 和 (('x',3),('y',4)) 转成字典。

    d1={k:v for k,v in [['a',1],['b',2]]+list((('x',3),('y',4)))}

29. 将元组 (1,2) 和 (3,4) 合并成一个元组。

lst=tuple((1,2)+(3,4))

30. 将空间坐标元组 (1,2,3) 的三个元素解包对应到变量 x,y,z。

x,y,z=(1,2,3)

31. 返回元组 ('Alice','Beth','Cecil') 中 'Cecil' 元素的索引号。

    ('Alice','Beth','Cecil').index('Cecil')

32. 返回元组 (2,5,3,2,4) 中元素 2 的个数。

    (2,5,3,2,4).count(2)

33. 判断 'Cecil' 是否在元组 ('Alice','Beth','Cecil') 中。

    'Cecil' in ('Alice','Beth','Cecil')

34. 返回在元组 (2,5,3,7) 索引号为2的位置插入元素 9 之后的新元组。

    lst=list((2,5,3,7))

lst.insert(2,9)

tuple(lst)

35. 创建一个空集合,增加 {'x','y','z'} 三个元素。

    s=set()

s.update({'x','y','z'})

36. 删除集合 {'x','y','z'} 中的 'z' 元素,增j加元素 'w',然后清空整个集合。

s={'x','y','z'}

s.remove('z')

s.add('w')

s.clear()

37. 返回集合 {'A','D','B'} 中未出现在集合 {'D','E','C'} 中的元素(差集)。

    {'A','D','B'}-{'D','E','C'}

38. 返回两个集合 {'A','D','B'} 和 {'D','E','C'} 的并集。

    {'A','D','B'}|{'D','E','C'}

39. 返回两个集合 {'A','D','B'} 和 {'D','E','C'} 的交集。

    {'A','D','B'}&{'D','E','C'}

40. 返回两个集合 {'A','D','B'} 和 {'D','E','C'} 未重复的元素的集合。

    {'A','D','B'}^{'D','E','C'}

41. 判断两个集合 {'A','D','B'} 和 {'D','E','C'} 是否有重复元素。

    {'A','D','B'}&{'D','E','C'}!=set()

42. 判断集合 {'A','C'} 是否是集合 {'D','C','E','A'} 的子集。

    {'A','C'} < {'D','C','E','A'}

43. 去除数组 [1,2,5,2,3,4,5,'x',4,'x'] 中的重复元素。

    lst=list(set([1,2,5,2,3,4,5,'x',4,'x']))

44. 返回字符串 'abCdEfg' 的全部大写、全部小写和大小写互换形式。

    s='abCdEfg'

s.upper()

s.lower()

s.islower()

45. 判断字符串 'abCdEfg' 是否首字母大写,字母是否全部小写,字母是否全部大写。

    s='abCdEfg'

s.istitle() #判断首字母大写

s.isupper()

s.islower()

46. 返回字符串 'this is python' 首字母大写以及字符串内每个单词首字母大写形式。

   

47. 判断字符串 'this is python' 是否以 'this' 开头,又是否以 'python' 结尾。

48. 返回字符串 'this is python' 中 'is' 的出现次数。

49. 返回字符串 'this is python' 中 'is' 首次出现和最后一次出现的位置。

50. 将字符串 'this is python' 切片成3个单词。

51. 返回字符串 'blog.csdn.net/xufive/article/details/102946961' 按路径分隔符切片的结果。

52. 将字符串 '2.72, 5, 7, 3.14' 以半角逗号切片后,再将各个元素转成浮点型或整形。

53. 判断字符串 'adS12K56' 是否完全为字母数字,是否全为数字,是否全为字母,是否全为ASCII码。

54. 将字符串 'there is python' 中的 'is' 替换为 'are'。

55. 清除字符串 '\t python \n' 左侧、右侧,以及左右两侧的空白字符。

56. 将三个全英文字符串(比如,'ok', 'hello', 'thank you')分行打印,实现左对齐、右对齐和居中对齐效果。

57. 将三个字符串(比如,'Hello, 我是David', 'OK, 好', '很高兴认识你')分行打印,实现左对齐、右对齐和居中效果。

58. 将三个字符串 '15', '127', '65535' 左侧补0成同样长度。

59. 提取 url 字符串 'https://blog.csdn.net/xufive' 中的协议名。

60. 将列表 ['a','b','c'] 中各个元素用'|'连接成一个字符串。

61. 将字符串 'abc' 相邻的两个字母之间加上半角逗号,生成新的字符串。

62. 从键盘输入手机号码,输出形如 'Mobile: 186 6677 7788' 的字符串。

63. 从键盘输入年月日时分秒,输出形如 '2019-05-01 12:00:00' 的字符串。

64. 给定两个浮点数 3.1415926 和 2.7182818,格式化输出字符串 'pi = 3.1416, e = 2.7183'。

65. 将 0.00774592 和 356800000 格式化输出为科学计数法字符串。

66. 将十进制整数 240 格式化为八进制和十六进制的字符串。

67. 将十进制整数 240 转为二进制、八进制、十六进制的字符串。

68. 将字符串 '10100' 按照二进制、八进制、十进制、十六进制转为整数。

69. 求二进制整数1010、八进制整数65、十进制整数52、十六进制整数b4的和。

70. 将列表 [0,1,2,3.14,'x',None,'',list(),{5}] 中各个元素转为布尔型。

71. 返回字符 'a' 和 'A' 的ASCII编码值。

72. 返回ASCII编码值为 57 和 122 的字符。

73. 将二维列表 [[0.468,0.975,0.446],[0.718,0.826,0.359]] 写成名为 csv_data 的 csv 格式的文件,并尝试用 excel 打开它。

74. 从 csv_data.csv 文件中读出二维列表。

75. 向 csv_data.csv 文件追加二维列表 [[1.468,1.975,1.446],[1.718,1.826,1.359]],然后读出所有数据。

76. 交换变量 x 和 y 的值。

77. 判断给定的参数 x 是否是整形。

78. 判断给定的参数 x 是否为列表或元组。

79. 判断 'https://blog.csdn.net' 是否以 'http://' 或 'https://' 开头。若是,则返回 'http' 或 'https';否则,返回None。

80. 判断 'https://blog.csdn.net' 是否以 '.com' 或 '.net' 结束。若是,则返回 'com' 或 'net';否则,返回None。

81. 将列表 [3,'a',5.2,4,{},9,[]] 中 大于3的整数或浮点数置为1,其余置为0。

82. a,b 是两个数字,返回其中较小者或最大者。

83. 找到列表 [8,5,2,4,3,6,5,5,1,4,5] 中出现最频繁的数字以及出现的次数。

84. 将二维列表 [[1], ['a','b'], [2.3, 4.5, 6.7]] 转为 一维列表。

85. 将等长的键列表和值列表转为字典。

86. 使用链状比较操作符重写逻辑表达式 a > 10 and a < 20。

87. 写一个函数,以0.1秒的间隔不换行打印30次由函数参数传入的字符,实现类似打字机的效果。

88. 数字列表求和。

89. 返回数字列表中的最大值和最小值。

90. 计算 5 的 3.5 方和 3 的立方根。

91. 对 3.1415926 四舍五入,保留小数点后5位。

92. 判断两个对象是在内存中是否是同一个。

93. 返回给定对象的属性和方法。

94. 计算字符串表达式 '(2+3)*5' 的值。

95. 实现字符串 'x={“name”:“David”, “age”:18}' 包含的代码功能。

96. 使用 map 函数求列表 [2,3,4,5] 中每个元素的立方根。

97、在函数内部可以通过关键字_____ ________来定义全局变量。

98、如果函数中没有return语句或者return语句不带任何返回值,那么该函数的返回值为_______ _______。

99、使用上下文管理关键字__________可以自动管理文件对象,不论何种原因结束该关键字中的语句块,都能保证文件被正确关闭。

100、已知 x = [[1,3,3], [2,3,1]],那么表达式

sorted(x, key=lambda item:item[0]+item[2]) 的值为_______

参考答案

1. 将元组 (1,2,3) 和集合 {4,5,6} 合并成一个列表。

list((1,2,3)) + list({4,5,6})

2. 在列表 [1,2,3,4,5,6] 首尾分别添加整型元素 7 和 0。

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

lst.insert(0, 7)

lst.append(0)

3. 反转列表 [0,1,2,3,4,5,6,7] 。

lst=[0,1,2,3,4,5,6,7]

lst=lst[::-1]

4. 反转列表 [0,1,2,3,4,5,6,7] 后给出中元素 5 的索引号。

lst=[0,1,2,3,4,5,6,7]

lst[::-1].index(5)

5. 分别统计列表 [True,False,0,1,2] 中 True,False,0,1,2的元素个数,发现了什么?

from collections import Counter

lst=[True,False,0,1,2]

Counter(lst)

注:显示结果为 Counter({True: 2, False: 2, 2: 1}) , 说明True和1都被视为True, False和0都被视为False

6. 从列表 [True,1,0,'x',None,'x',False,2,True]中删除元素'x'。

lst=[True,1,0,'x',None,'x',False,2,True]

while 'x' in lst:

    lst.remove('x')

7. 从列表 [True,1,0,'x',None,'x',False,2,True] 中删除索引号为4的元素。

lst=[True,1,0,'x',None,'x',False,2,True]

lst.remove(lst[4])

8. 删除列表中索引号为奇数(或偶数)的元素。

lst=list(range(20))

lst=lst[ : :2]        # 保留偶数索引号的元素,删除奇数索引号的元素

lst2=list(range(20))

lst2=lst2[1: :2]       # 保留奇数索引号的元素,删除偶数索引号的元素

9. 清空列表中的所有元素。

lst.clear()

10. 对列表 [3,0,8,5,7] 分别做升序和降序排列。

lst=[3,0,8,5,7]

lst.sort()

lst.sort(reverse=True)

11. 将列表 [3,0,8,5,7] 中大于 5 元素置为1,其余元素置为0。

方法一

lst=[3,0,8,5,7]

lst=[1 if x>5 else 0  for  x  in  lst]

方法二

lst=[3,0,8,5,7]

for  k, v  in  enumerate(lst):

    if  v>5:

        lst[k]=1

    else:

        lst[k]=0

12. 遍历列表 ['x','y','z'],打印每一个元素及其对应的索引号。

lst=['x','y','z']

for  k,v  in  enumerate(lst):

    print(k, v)

13. 将列表 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 拆分为奇数组和偶数组两个列表。

lst = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

leven=lst[::2] # 偶数

lodd=lst[1::2] # 奇数

14. 分别根据每一行的首元素和尾元素大小对二维列表 [[6, 5], [3, 7], [2, 8]] 排序。

lst = [[6, 5], [3, 7], [2, 8]]

lst.sort() # 默认按每个小列表的首元素排序

print(lst)

lst.sort(key= lambda x:x[-1])  # 自定义排序,按每个小列表的尾元素排序

print(lst)

15. 从列表 [1,4,7,2,5,8] 索引为3的位置开始,依次插入列表 ['x','y','z'] 的所有元素。

lst=[1,4,7,2,5,8]

lst2=['x','y','z']

lst=lst[:3] + lst2 +lst[3:]

16. 快速生成由 [5,50) 区间内的整数组成的列表。

lst=list(range(5,50))

17. 若 a = [1,2,3],令 b = a,执行 b[0] = 9, a[0]亦被改变。为何?如何避免?

改为 b=a.copy() ,  这样列表 a 和 b就分离了,不会互相影响。

18. 将列表 ['x','y','z'] 和 [1,2,3] 转成 [('x',1),('y',2),('z',3)] 的形式。

lst=list(zip(['x','y','z'],  [1,2,3]))

19. 以列表形式返回字典 {'Alice': 20, 'Beth': 18, 'Cecil': 21} 中所有的键。

di = {'Alice': 20, 'Beth': 18, 'Cecil': 21}

list(di.keys())

20. 以列表形式返回字典 {'Alice': 20, 'Beth': 18, 'Cecil': 21} 中所有的值。

di = {'Alice': 20, 'Beth': 18, 'Cecil': 21}

list(di.values())

21. 以列表形式返回字典 {'Alice': 20, 'Beth': 18, 'Cecil': 21} 中所有键值对组成的元组。

di = {'Alice': 20, 'Beth': 18, 'Cecil': 21}

list(di.items())

22. 向字典 {'Alice': 20, 'Beth': 18, 'Cecil': 21} 追加 'David':19 键值对,更新Cecil的值为17。

di =  {'Alice': 20, 'Beth': 18, 'Cecil': 21}

di['David'] = 19

di['Cecil'] = 17

23. 删除字典 {'Alice': 20, 'Beth': 18, 'Cecil': 21} 中的Beth键后,清空该字典。

di = {'Alice': 20, 'Beth': 18, 'Cecil': 21}

di.pop('Beth')

di.clear()

24. 判断 David 和 Alice 是否在字典 {'Alice': 20, 'Beth': 18, 'Cecil': 21} 中。

di = {'Alice': 20, 'Beth': 18, 'Cecil': 21}

'David' in di

'Alice' in di

25. 遍历字典 {'Alice': 20, 'Beth': 18, 'Cecil': 21},打印键值对。

di = {'Alice': 20, 'Beth': 18, 'Cecil': 21}

for  k,v  in  di.items():

    print(k,v)

26. 若 a = dict(),令 b = a,执行 b.update({'x':1}), a亦被改变。为何?如何避免?

改为 b=a.copy()

27. 以列表 ['A','B','C','D','E','F','G','H'] 中的每一个元素为键,默认值都是0,创建一个字典。

di={x:0 for x in ['A','B','C','D','E','F','G','H']}

28. 将二维结构 [['a',1],['b',2]] 和 (('x',3),('y',4)) 转成字典。

di={k:v for k,v in [['a',1],['b',2]] + list((('x',3),('y',4)))}

转换结果:{'a': 1, 'b': 2, 'x': 3, 'y': 4}

29. 将元组 (1,2) 和 (3,4) 合并成一个元组。

lst = list( (1,2) + (3,4))

30. 将空间坐标元组 (1,2,3) 的三个元素解包对应到变量 x,y,z。

x,y,z = (1,2,3)

31. 返回元组 ('Alice','Beth','Cecil') 中 'Cecil' 元素的索引号。

('Alice','Beth','Cecil').index('Cecil')

32. 返回元组 (2,5,3,2,4) 中元素 2 的个数。

(2,5,3,2,4).count(2)

33. 判断 'Cecil' 是否在元组 ('Alice','Beth','Cecil') 中。

'Cecil' in ('Alice','Beth','Cecil')

34. 返回在元组 (2,5,3,7) 索引号为2的位置插入元素 9 之后的新元组。

lst = list((2,5,3,7))

lst.insert(2, 9)

tuple(lst)

35. 创建一个空集合,增加 {'x','y','z'} 三个元素。

s=set()

s.update({'x','y','z'})

36. 删除集合 {'x','y','z'} 中的 'z' 元素,增加元素 'w',然后清空整个集合。

s = {'x','y','z'}

s.remove('z')

s.add('w')

s.clear()

37. 返回集合 {'A','D','B'} 中未出现在集合 {'D','E','C'} 中的元素(差集)。

{'A','D','B'} - {'D','E','C'}

38. 返回两个集合 {'A','D','B'} 和 {'D','E','C'} 的并集。

{'A','D','B'} | {'D','E','C'}

39. 返回两个集合 {'A','D','B'} 和 {'D','E','C'} 的交集。

{'A','D','B'} & {'D','E','C'}

40. 返回两个集合 {'A','D','B'} 和 {'D','E','C'} 未重复的元素的集合。

{'A','D','B'} ^ {'D','E','C'}

41. 判断两个集合 {'A','D','B'} 和 {'D','E','C'} 是否有重复元素。

{'A','D','B'} & {'D','E','C'} !=set()

注:运算结果为True, 有重复元素; 结果为False, 没有重复元素

42. 判断集合 {'A','C'} 是否是集合 {'D','C','E','A'} 的子集。

{'A','C'} < {'D','C','E','A'}

43. 去除数组 [1,2,5,2,3,4,5,'x',4,'x'] 中的重复元素。

lst = list(set([1,2,5,2,3,4,5,'x',4,'x']))

44. 返回字符串 'abCdEfg' 的全部大写、全部小写和大小写互换形式。

s='abCdEfg'

s.upper()

s.lower()

s.swapcase()

45. 判断字符串 'abCdEfg' 是否首字母大写,字母是否全部小写,字母是否全部大写。

s='abCdEfg'

s.istitle()    # 是否首字母大写

s.isupper()

s.islower()

46. 返回字符串 'this is python' 首字母大写以及字符串内每个单词首字母大写形式。

s='this is python'

s.capitalize() # 首字母大写

s.title()      # 字符串内每个单词首字母大写

47. 判断字符串 'this is python' 是否以 'this' 开头,又是否以 'python' 结尾。

s='this is python'

s.startswith('this')       # 是否 this 开头

s.endswith('python')

48. 返回字符串 'this is python' 中 'is' 的出现次数。

s='this is python'

s.count('is')

49. 返回字符串 'this is python' 中 'is' 首次出现和最后一次出现的位置。

s='this is python'

s.find('is')       # find 从左侧开始

s.rfind('is')    # rfind 是从右侧开始,可找到最后一次出现的位置

50. 将字符串 'this is python' 切片成3个单词。

'this is python'.split()

51. 返回字符串 'blog.csdn.net/xufive/article/details/102946961' 按路径分隔符切片的结果。

'blog.csdn.net/xufive/article/details/102946961'.split('/')

52. 将字符串 '2.72, 5, 7, 3.14' 以半角逗号切片后,再将各个元素转成浮点型或整形。

s='2.72, 5, 7, 3.14'

lst = s.split(',')

lst2 = [eval(x) for x in lst]

53. 判断字符串 'adS12K56' 是否完全为字母数字,是否全为数字,是否全为字母,是否全为ASCII码。

s = 'adS12K56'

s.isalnum()    # 是否全为字母数字

s.isnumeric()      # 是否全为数字

s.isalpha()    # 是否全为字母

s.isascii()        # 是否全为ASCII码

54. 将字符串 'there is python' 中的 'is' 替换为 'are'。

s = 'there is python'.replace('is', 'are')

55. 清除字符串 '\t python \n'左右两侧的空白字符。

s = '\t python \n'

s.strip()

56. 将三个全英文字符串(比如,'ok', 'hello', 'thank you')分行打印,实现左对齐、右对齐和居中对齐效果。

for  s  in  ['ok', 'hello', 'thank you']:

    for  c  in ['<', '>', '^']:

        k='{:*'+c+'14}'

        print(k.format(s))

57. 将三个字符串(比如,'Hello, 我是David', 'OK, 好', '很高兴认识你')分行打印,实现左对齐、右对齐和居中效果。

* 同上

58. 将三个字符串 '15', '127', '65535' 左侧补0成同样长度。

for k  in  ['15', '127', '65535']:

    print('{:08d}'.format(eval(k)))

59. 提取 url 字符串 'https://blog.csdn.net/xufive' 中的协议名。

s='https://blog.csdn.net/xufive'

s[:5]

k = s.index('/')

s[:k-1]

60. 将列表 ['a','b','c'] 中各个元素用'|'连接成一个字符串。

'|'.join(['a','b','c'])

61. 将字符串 'abc' 相邻的两个字母之间加上半角逗号,生成新的字符串。

','.join(list('abc'))

62. 从键盘输入手机号码,输出形如 'Mobile: 186 6677 7788' 的字符串。

tel = input('tel=')

s='Mobile:{}'.format(tel)

63. 从键盘输入年月日时分秒,输出形如 '2019-05-01 12:00:00' 的字符串。

t = input('输入 年 月 日 时 分 秒(空格间隔):')

s='{}-{}-{} {}:{}:{}'.format(*t.split())

print(s)

64. 给定两个浮点数 3.1415926 和 2.7182818,格式化输出字符串 'pi = 3.1416, e = 2.7183'。

t = eval(input('输入两个浮点数(逗号间隔):'))

s='pi={:.4f}, e={:.4f}'.format(*t)

print(s)

65. 将 0.00774592 和 356800000 格式化输出为科学计数法字符串。

print('{:e} {:e}'.format(0.00774592, 356800000))

66. 将十进制整数 240 格式化为八进制和十六进制的字符串。

print('八进制{0:o}  十六进制{0:x}'.format(240))

67. 将十进制整数 240 转为二进制、八进制、十六进制的字符串。

print('二进制{0:b}  八进制{0:o}  十六进制{0:x}'.format(240))

68. 将字符串 '10100' 按照二进制、八进制、十进制、十六进制转为整数。

int('10100', 2)

int('10100', 8)

int('10100')   # 默认按十进制

int('10100', 16)

69. 求二进制整数1010、八进制整数65、十进制整数52、十六进制整数b4的和。

0b1010 + 0o65 + 52 + 0xb4

70. 将列表 [0,1,2,3.14,'x',None,'',list(),{5}] 中各个元素转为布尔型。

lst = [0,1,2,3.14,'x',None,'',list(),{5}]

lst2 = [bool(x) for x  in lst ]

71. 返回字符 'a' 和 'A' 的ASCII编码值。

ord('a')

ord('A')

72. 返回ASCII编码值为 57 和 122 的字符。

chr(57)

chr(122)

73. 将二维列表 [[0.468,0.975,0.446],[0.718,0.826,0.359]] 写成名为 csv_data 的 csv 格式的文件,并尝试用 excel 打开它。

lst = [[0.468,0.975,0.446],[0.718,0.826,0.359]]

f=open('csv_data.csv','w')

for  li  in  lst:

    s = ','.join([str(x) for x  in li])

    f.write(s+'\n')

f.close()

74. 从 csv_data.csv 文件中读出二维列表。

f=open('csv_data.csv')

lst = [ ]

for  line  in  f:

    li = line.split(',')

    li = [eval(x) for x in li]

    lst.append(li)

f.close()

print(lst)

75. 向 csv_data.csv 文件追加二维列表 [[1.468,1.975,1.446],[1.718,1.826,1.359]],然后读出所有数据。

lst = [[0.468,0.975,0.446],[0.718,0.826,0.359]]

f=open('csv_data.csv','a+')    # a+追加可读 方式

for  li  in  lst:

    s = ','.join([str(x) for x  in li])

    f.write(s+'\n')

f.seek(0)      # 文件指针移到头部,以便从头开始读取数据

for  line  in  f:

    print(line)

f.close()

76. 交换变量 x 和 y 的值。

x, y = y, x

77. 判断给定的参数 x 是否是整形。

type(x) == int

78. 判断给定的参数 x 是否为列表或元组。

type(x)==list or  type(x)==tuple

79. 判断 'https://blog.csdn.net' 是否以 'http://' 或 'https://' 开头。若是,则返回 'http' 或 'https';否则,返回None。

def  fun(s):

    if s.startswith('http://'):

        return 'http'

    elif s.startswith('https://'):

        return 'https'

    else:

        return None

s = fun('https://blog.csdn.net')

80. 判断 'https://blog.csdn.net' 是否以 '.com' 或 '.net' 结束。若是,则返回 'com' 或 'net';否则,返回None。

def  fun(s):

    if s.endswith('.com'):

        return 'com'

    elif s.endswith('.net'):

        return 'net'

    else:

        return None

s = fun('https://blog.csdn.net')

81. 将列表 [3,'a',5.2,4,{},9,[] ] 中 大于3的整数或浮点数置为1,其余置为0。

lst = [3,'a',5.2,4,{},9,[] ]

li = [ ]

for  s  in  lst:

    if  (type(s)==int or type(s)==float) and s>3:

        li.append(1)

    else:

        li.append(0)

print(li)

82. a,b 是两个数字,返回其中较小者或最大者。

max(a,b)

min(a,b)

83. 找到列表 [8,5,2,4,3,6,5,5,1,4,5] 中出现最频繁的数字以及出现的次数。

from collections import Counter

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

di = Counter(lst)

print('最频繁的数字及次数是:', di.most_common(1))

84. 将二维列表 [[1], ['a','b'], [2.3, 4.5, 6.7]] 转为 一维列表。

lst = [[1], ['a','b'], [2.3, 4.5, 6.7]]

li = [ ]

for  x  in  lst:

    li.extend(x)

print(li)

85. 将等长的键列表和值列表转为字典。

lst1=['a','b','c']

lst2=[10,15,20]

di={k:v for k,v in zip(lst1,lst2)}

86. 使用链状比较操作符重写逻辑表达式 a > 10 and a < 20。

10<a<20

87. 写一个函数,以0.1秒的间隔不换行打印30次由函数参数传入的字符,实现类似打字机的效果。

import time

def  typewriter(c):

    for  x  in  range(30):

        print(c, end='')

        time.sleep(0.1)

typewriter('x')

88. 数字列表求和。

sum(lst)

89. 返回数字列表中的最大值和最小值。

max(lst)

min(lst)

90. 计算 5 的 3.5 方和 3 的立方根。

5**3.5 或 pow(5, 3.5)

3**(1/3)  或 pow(3, 1/3)

91. 对 3.1415926 四舍五入,保留小数点后5位。

x=3.1415926

round(x,5)

92. 判断两个对象是在内存中是否是同一个。

x  is y

93. 返回给定对象x的属性和方法。

help(x)

dir(x)

94. 计算字符串表达式 '(2+3)*5' 的值。

s='(2+3)*5'

print(eval(s))

95. 实现字符串 'x={"name":"David", "age":18}' 包含的代码功能。

s = '{"name":"David", "age":18}'

x = eval(s)   # 转换后得到字典变量 x

96. 使用 map 函数求列表 [2,3,4,5] 中每个元素的立方根。

lst = [2,3,4,5]

list(map(lambda x:x**3, lst))

97、在函数内部可以通过关键字_____ global ___________来定义全局变量。

98、如果函数中没有return语句或者return语句不带任何返回值,那么该函数的返回值为_______ None __________。

99、使用上下文管理关键字_____with_________可以自动管理文件对象,不论何种原因结束该关键字中的语句块,都能保证文件被正确关闭。

100、已知 x = [[1,3,3], [2,3,1]],那么表达式

sorted(x, key=lambda item:item[0]+item[2]) 的值为____[[2, 3, 1], [1, 3, 3]]

  • 14
    点赞
  • 67
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Python基础100练习题是入门Python编程语言的一种有效方法。这些练习题包括各种不同方面的试题,包括数据类型、控制流、函数、循环结构、列表和字符串等。这些练习题适合初学者和有经验的程序员,可帮助提高你的Python编程技能。 在练习这些试题时,可以通过遵循一些基本规则来帮助你进步。首先,应建立良好的编码习惯,例如遵守PEP 8规范(Python编码规范)。其次,应该尝试编写清晰、易于理解的代码,这能提高计算机程序可读性和维护性。第三,应该关注代码的整洁度,尽可能避免不必要的重复或冗余。 对于初学者来说,Python基础100练习题还是非常有用的,因为这样可以帮助他们掌握在Python编程过程中最常见的任务和问题,使他们更加熟练掌握编程的基本技能。对于有经验的程序员来说,这些练习题还可以帮助他们深入了解一些高级技术和异常处理方法等。练习这些试题也是一种很好的建立自己的代码库的方法,它可以让你随时拿出你先前编写过了的代码,并继续优化和改进它。 总之,Python基础100练习题可以帮助初学者或有经验的程序员提高Python编程技能和实践。这些试题是Python编程任务的好例子,能够帮助你更好地理解Python编程语言,并提升你的编程技巧。 ### 回答2: Python基础100练习题包括了Python语法的一些基础知识,例如变量、数据类型、条件语句、循环语句、函数等。它们是初学者学习Python编程的入门知识。 这些练习题涉及的内容非常广泛,对于初学者来说非常有趣且有挑战性。通过练习这些题目,可以加深对Python语法的理解,熟悉Python编程环境 和常用的编程工具,如代码编辑器、交互式解释器、调试工具等。 在Python基础100练习题中,有很多实用的练习题,例如带参数的函数、列表和字典的操作、字符串的处理、文件的读写等。这些练习题的目的是为了让初学者掌握最重要的Python编程技能,从而能够开始编写一些实用的脚本和程序。 当你完成这些练习题时,你也会学习到一些Python编程的最佳实践,例如如何编写可维护的软件、如何处理异常、如何进行单元测试等。这些都是在Python编程中非常重要的技能。 总之,Python基础100练习题非常有价值,可以帮助初学者掌握Python编程的基础知识和技能。如果你想成为一名Python开发人员,那么这些练习题就是一个重要的开始。 ### 回答3: Python基础100练习题包括了许多涵盖Python基础知识的练习题,对于初学者来说是一个很好的入门练习。在这些练习题中,我们需要了解Python的基本语法,例如变量、条件语句、循环语句、函数、列表等。 在解决Python基础100练习题时,我们需要仔细阅读题目描述,理解题目的要求。有些问题需要我们使用简单的数学计算,有些问题需要我们使用条件语句来实现,有些问题需要我们使用循环语句来完成。在解决问题时,我们可以利用Python自带的函数及库,例如random、math等。 总之,在练习中,我们需要不断提高自己的思考能力和编程技巧,通过解决问题来提高自己的编程水平,掌握基础的编程知识,让我们的程序写的更加优雅、高效。同时,我们也能够在这个过程中感受到编程的乐趣,为我们日后的学习和工作打下良好的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值