Python - 基础练习题
1.请用代码实现:利用下划线将列表的每一个元素拼接成字符串,li = [‘alex’, ‘eric’, ‘rain’]。
In [1]: var = "_"
In [2]: li = ["alex", "eric", "rain"]
In [3]: var.join(li)
Out[3]: 'alex_eric_rain'
2.移除每个元素的空格并查找以 a 或 A 开头并且以 c 结尾的所有元素。
li = [“alec”, " aric", “Alex”, “Tony”, “rain”]
In [1]: li = ["alec", " aric", "Alex", "Tony", "rain"]
...:
...: for i in li:
...: i = i.lstrip()
...: if (i.startswith("a") or i.startswith("A")) and i.endswith("c"):
...: print(i)
...:
alec
aric
tu = (“alec”, " aric", “Alex”, “Tony”, “rain”)
In [2]: tu = ("alec", " aric", "Alex", "Tony", "rain")
...:
...: for i in tu:
...: i = i.lstrip()
...: if (i.startswith("a") or i.startswith("A")) and i.endswith("c"):
...: print(i)
...:
alec
aric
dic = {‘k1’: “alex”, ‘k2’: ’ aric’, “k3”: “Alex”, “k4”: “Tony”}
In [3]: dic = {'k1': "alex", 'k2': ' aric', "k3": "Alex", "k4": "Tony"}
...:
...: for i in dic.values():
...: i = i.lstrip()
...:
...: if (i.startswith("a") or i.startswith("A")) and i.endswith("c"):
...: print(i)
...:
aric
3.如下列表,按照要求实现每一个功能:
li = [“alex”, “eric”, “rain”]
计算列表长度并输出;
In [1]: li = ["alex", "eric", "rain"]
In [2]: len(li)
Out[2]: 3
请将列表所有的元素反转,并输出反转后的列表;
In [3]: li.reverse()
In [4]: li
Out[4]: ['rain', 'eric', 'alex']
请使用 for、len、range 输出列表的索引;
In [5]: for i in range(len(li)):
...: print(i)
...:
0
1
2
请使用 enumerate 输出列表元素和索引(索引从100开始);
In [6]: for i, j in enumerate(li, 100):
...: print(i, j)
...:
100 rain
101 eric
102 alex
请使用 for 循环输出列表中的所有元素。
In [7]: for i in li:
...: print(i)
...:
rain
eric
alex
列表中追加元素 “seven”,并输出添加后的列表;
In [8]: li.append("seven")
In [9]: li
Out[9]: ['rain', 'eric', 'alex', 'seven']
请在列表的第 1 个位置插入元素 “Tony”,并输出添加后的列表;
In [10]: li.insert(0, "Tony")
In [11]: li
Out[11]: ['Tony', 'rain', 'eric', 'alex', 'seven']
请修改列表第 2 个位置的元素为 “Kelly”,并输出修改后的列表;
In [12]: li[1] = "Kelly"
In [13]: li
Out[13]: ['Tony', 'Kelly', 'eric', 'alex', 'seven']
请删除列表中的元素 “eric”,并输出删除元素后的列表;
In [14]: li.remove("eric")
In [15]: li
Out[15]: ['Tony', 'Kelly', 'alex', 'seven']
请删除列表中的第 2 个元素,并输出删除的元素的值和删除元素后的列表;
In [16]: pop_1 = li.pop(1)
In [17]: pop_1
Out[17]: 'Kelly'
In [18]: li
Out[18]: ['Tony', 'alex', 'seven']
请删除列表中的第 3 个元素,并输出删除元素后的列表;
In [19]: del li[2]
In [20]: li
Out[20]: ['Tony', 'alex']
请删除列表中的第 2 至 4 个元素,并输出删除元素后的列表;
In [21]: del li[1:3]
In [22]: li
Out[22]: ['Tony']
4.如下列表,请按照功能要求实现每一个功能:
li = [“hello”, ‘seven’, [“mon”, [“h”, “kelly”], ‘all’], 123, 446]
请根据索引输出 “Kelly”;
In [1]: li = ["hello", 'seven', ["mon", ["h", "kelly"], 'all'], 123, 446]
In [2]: li[2][1][1]
Out[2]: 'kelly'
请使用索引查到 “all” 元素并将其修改为 “ALL”;
In [3]: li[2][2].upper()
Out[3]: 'ALL'
在这里插入代码片
5.如下元组,请按照功能要求实现每一个功能:
tuҖ(‘alex’, ‘eric’, ‘rain’)
计算元组长度并输出;
In [1]: tu = ('alex', 'eric', 'rain')
In [2]: len(tu)
Out[2]: 3
获取元组的第 2 个元素并输出;
In [3]: tu[1]
Out[3]: 'eric'
获取元组的第 1-2 个元素并输出;
In [4]: tu[:2]
Out[4]: ('alex', 'eric')
请使用 for 循环输出元组的元素;
In [5]: for i in tu:
...: print(i)
...:
alex
eric
rain
请使用 for、len、range 输出元组的索引;
In [6]: for i in range(len(tu)):
...: print(i)
...:
0
1
2
请使用 enumerate 输出元组元素和索引(索引从 10 开始)。
In [7]: for i, j in enumerate(tu, 10):
...: print(i, j)
...:
10 alex
11 eric
12 rain
6.如下变量,请按照功能要求实现每一个功能:
tu = (“alex”, [11, 22, {“k1”: “v1”, “k2”: [“age”, “name”], “k3”: (11,22,33)}, 44])
请问 tu 变量中的 “k2” 对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素 “Seven”;
“k2” 对应的值是列表,元素可以被修改。
In [1]: tu = ("alex", [11, 22, {"k1": "v1", "k2": ["age", "name"], "k3": (11, 22, 33)}, 44])
In [2]: tu[1][2].get("k2").append("Seven")
In [3]: tu
Out[3]:
('alex',
[11,
22,
{'k1': 'v1', 'k2': ['age', 'name', 'Seven'], 'k3': (11, 22, 33)},
44])
请问 tu 变量中的 “k3” 对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素 “Seven”;
“k3” 对应的值是元组,元素不可被修改。
7.如下字典,请按照功能要求实现每一个功能:
dic = {“k1”: “v1”, “k2”: “v2”, “k3”: [11, 22, 33]}
请循环输出所有的 key;
In [1]: dic = {"k1": "v1", "k2": "v2", "k3": [11, 22, 33]}
In [2]: for key in dic.keys():
...: print(key)
...:
k1
k2
k3
请循环输出所有的 value;
In [3]: for value in dic.values():
...: print(value)
...:
v1
v2
[11, 22, 33]
请循环输出所有的 key 和 value;
In [4]: for key, value in dic.items():
...: print(key, value)
...:
k1 v1
k2 v2
k3 [11, 22, 33]
In [5]: for key in dic:
...: print(key, dic[key])
...:
k1 v1
k2 v2
k3 [11, 22, 33]
请在字典中添加一个键值对:“k4”:“v4”,输出添加后的字典;
In [6]: dic.setdefault("k4", "v4")
Out[6]: 'v4'
In [7]: dic
Out[7]: {'k1': 'v1', 'k2': 'v2', 'k3': [11, 22, 33], 'k4': 'v4'}
请修改字典中的 “k1” 对应的值为 ”alex“,输出修改后的字典;
In [8]: dic["k1"] = "alex"
In [9]: dic
Out[9]: {'k1': 'alex', 'k2': 'v2', 'k3': [11, 22, 33], 'k4': 'v4'}
请在 k3 对应的值中追加一个元素 44,输出修改后的字典;
In [10]: dic["k3"].append(44)
In [11]: dic
Out[11]: {'k1': 'alex', 'k2': 'v2', 'k3': [11, 22, 33, 44], 'k4': 'v4'}
请在 k3 对应的值的第 1 个位置插入元素 18,输出修改后的字典。
In [12]: dic["k3"].insert(0, 18)
In [13]: dic
Out[13]: {'k1': 'alex', 'k2': 'v2', 'k3': [18, 11, 22, 33, 44], 'k4': 'v4'}
8.数据类型转换
将字符串 s = “alex” 转换成列表;
In [1]: s = "alex"
In [2]: s.split()
Out[2]: ['alex']
In [3]: list(s)
Out[3]: ['a', 'l', 'e', 'x']
将字符串 s = “alex” 转换成元组;
In [4]: tuple(s)
Out[4]: ('a', 'l', 'e', 'x')
将列表 li = [“alex”, “seven”] 转换成元组;
In [5]: li = ["alex", "seven"]
In [6]: tuple(li)
Out[6]: ('alex', 'seven')
将元组 tu = (“alex”, “seven”) 转换成列表;
In [7]: tu = ("alex", "seven")
In [8]: list(tu)
Out[8]: ['alex', 'seven']
将列表 li = [“alex”, “seven”] 转换成字典的 key 按照 10 开始向后递增。
In [9]: li = ["alex", "seven"]
In [10]: dic = {}
In [11]: for key, value in enumerate(li, 10):
...: dic[key] = value # 列表转字典
...:
In [12]: dic
Out[12]: {10: 'alex', 11: 'seven'}
9.如下集合,请按照功能要求实现每一个功能:
set1 = {11, 22, 33, 44, 55, 66, 77, 88, 99, 90}
将所有大于 66 的值保存到字典第一个 key 的值中,将所有小于 66 的值保存到字典第二个 key 的值中。
In [1]: set1 = {11, 22, 33, 44, 55, 66, 77, 88, 99, 90}
In [2]: dic = {}
In [3]: li1 = []
In [4]: li2 = []
In [5]: for i in list(set1):
...: if i > 66:
...: li1.append(i)
...: elif i < 66:
...: li2.append(i)
...:
In [6]: dic["k1"] = li1
In [7]: dic["k2"] = li2
In [8]: dic
Out[8]: {'k1': [99, 77, 88, 90], 'k2': [33, 11, 44, 22, 55]}
10.输出商品列表,用户输入序号,显示用户选中的商品:
commodity = [“手机”, “电脑”, “鼠标垫”, “游艇”]
允许用户添加商品
用户输入序号显示选中的商品
commodity = ["手机", "电脑", "鼠标垫", "游艇"]
print(" 1 - 增加商品\n", "2 - 显示商品列表")
add = 1
show = 2
i_num = int(input("请输入功能序号:"))
if i_num == 1:
add_commodity = input("请输入商品名称:")
commodity.append(add_commodity)
print("商品添加成功。")
elif i_num == 2:
print("商品列表:")
for i in enumerate(commodity):
print(i)
choice = int(input("请输入商品序号进行选择:"))
print(commodity[choice])
11.用户交互显示类似省市县N级联动的选择
允许用户增加内容
允许用户选择查看某一个级别的内容
在这里插入代码片
12.列举布尔值是 False 的所有值
None、""、()、[]、{}、0
13,如下两个列表:
li1 = [11, 22, 33]
li2 = [22, 33, 44]
获取相同的元素
在这里插入代码片
获取 li1 中有,li2 中没有的元素
在这里插入代码片
获取 li2 中有,li1 中没有的元素
在这里插入代码片
获取 li1 和 li2 中不同的元素
在这里插入代码片
14.利用 for 循环和 range 输出:
for 循环从大到小输出 1-100;
在这里插入代码片
for 循环从小到大输出 100-1;
在这里插入代码片
while 循环从大到小输出 1-100
在这里插入代码片
while 循环从小到大输出 100-1
在这里插入代码片
输出九九乘法表
for i in range(1, 10):
for j in range(1, i+1):
print("{} x {} = {}\t".format(j, i, i*j), end=" ")
print()