欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Python - 基础练习题

程序员文章站 2024-02-24 13:40:01
...

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