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()

猜你喜欢

转载自blog.csdn.net/lipandeng_acb/article/details/90766098