python文件与数据类型练习题

# 1.请用代码实现:利用下划线将列表的每一个元素拼接成字符串,li=[‘alex’, ‘eric’, ‘rain’]
li = ['alex', 'eric', 'rain']
li_str = '_'.join(li)
print(li_str)

"""
2.查找列表中元素,移除每个元素的空格,并查找以a或A开头并且以c结尾的所有元素。

"""

li = ["alec", " aric", "Alec", "Tony", "rain"]
for i in li:
li_str = i.strip().replace(" ", "")
if li_str.startswith('a') or li_str.startswith('A') and li_str.endswith('c'):
print(li_str)

tu = ("alec", " aric", "Alex", "Tony", "rain")
for i in tu:
tu_str = i.strip().replace(" ", "")
if tu_str.startswith('a') or tu_str.startswith('A') and tu_str.endswith('c'):
print(tu_str)

dic = {'k1': "alex", 'k2': ' aric', "k3": "Alex", "k4": "Tony"}
for k in dic:
v_str = dic[k].strip().replace(" ", "")
if v_str.startswith('a') or v_str.startswith('A') and v_str.endswith('c'):
print(v_str)

# 3.写代码,有如下列表,按照要求实现每一个功能
li = ['alex', 'eric', 'rain']
# 计算列表长度并输出
print(len(li))
# 列表中追加元素“seven”,并输出添加后的列表
li.append('seven')
print(li)

# 请在列表的第1个位置插入元素“Tony”,并输出添加后的列表
li.insert(1, 'Tony')
print(li)

# 请修改列表第2个位置的元素为“Kelly”,并输出修改后的列表
li[1] = 'Kelly'
print(li)

# 请删除列表中的元素“eric”,并输出修改后的列表
li.remove('eric')
print(li)

# 请删除列表中的第2个元素,并输出删除的元素的值和删除元素后的列表
print(li.pop(1))
print(li)

# 请删除列表中的第2至4个元素,并输出删除元素后的列表
li1 = ['alex', 'Tony', 'eric', 'rain', 'seven']
del li1[2:4]
print(li1)

# 请将列表所有的元素反转,并输出反转后的列表
li2 = ['alex', 'Tony', 'eric', 'rain', 'seven']
li2.reverse()
print(li2)

# 请使用for、len、range输出列表的索引

for index in range(len(li2)):
print(index)

# 请使用enumrate输出列表元素和序号(序号从100开始)
for index, val in enumerate(li2, 100):
print(index, val)

# 请使用for循环输出列表的所有元素
for i in li:
print(i)


"""
4、写代码,有如下列表,请按照功能要求实现每一个功能

li = ["hello", 'seven', ["mon", ["h", "kelly"], 'all'], 123, 446]
请根据索引输出“Kelly”

请使用索引找到’all’元素并将其修改为“ALL”,如:li[0][1][9]…
"""
li = ["hello", 'seven', ["mon", ["h", "kelly"], 'all'], 123, 446]
print(li[2][1][1])
li[2][2] = 'All'
print(li)

"""
5、有如下变量,请实现要求的功能

tu = ("alex", [11, 22, {"k1": 'v1', "k2": ["age", "name"], "k3": (11,22,33)}, 44])
讲述元组的特性:不可变,有序

请问tu变量中的第一个元素“alex”是否可被修改?:不可修改

请问tu变量中的”k2”对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素“Seven”
可以被修改,tu[1][2]['k2'].append('Seven')

请问tu变量中的”k3”对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素“Seven“
不可以修改
"""

"""
6、转换

将字符串s = “alex”转换成列表

将字符串s = “alex”转换成元祖

将列表li = [“alex”, “seven”]转换成元组

将元组tu = (‘Alex’, “seven”)转换成列表

将列表li = [“alex”, “seven”]转换成字典且字典的key按照10开始向后递增
"""
s = 'alex'
print(list(s))
print(tuple(s))
li = ['alex', 'seven']
print(tuple(li))
tu = ('Alex', 'seven')
print(list(tu))

li2 = ['alex', 'seven']
num = 10
dic = {}
for i in range(len(li2)):
dic[num] = li2[i]
num += 1
print(dic)

"""
7、元素分类

有如下值li = [11,22,33,44,55,66,77,88,99,90],将所有大于66的值保存至字典的第一个key中,
将小于66的值保存至第二个key的值中。即:{‘k1’:大于66的所有值, ‘k2’:小于66的所有值}
"""
li = [11, 22, 33, 44, 55, 66, 77, 88, 99, 90]
dic = {'k1': [], 'k2': []}
for i in li:
if i > 66:
dic["k1"].append(i)
elif i < 66:
dic['k2'].append(i)
print(dic)
#


# 8、在不改变列表数据结构的情况下找最大值li = [1,3,2,7,6,23,41,243,33,85,56]
li = [1, 3, 2, 7, 6, 23, 41, 243, 33, 85, 56]
max_value = li[0]
for i in li:
if i > max_value:
max_value = i
print(max_value)

# 9 在不改变列表中数据排列结构的前提下,找出以下列表中最接近最大值和最小值的平均值 的数
li = [-100, 1, 3, 2, 7, 6, 120, 121, 140, 23, 411, 99, 243, 33, 85, 56]
max_value = li[0]
min_value = li[0]
for i in li:
if i > max_value:
max_value = i
if i < min_value:
min_value = i

arg_value = (min_value + max_value) / 2
close_n = li[0]
for i in li:
if abs(i - arg_value) < abs(close_n - arg_value):
close_n = i
print(close_n)

# 10 利用for循环和range输出9 * 9乘法表
for i in range(1, 10):
for j in range(1, i + 1):
print("%s*%s=%s" % (j, i, i * j), end=" ")
print("\n")

# 11 求100以内的素数和
total = 0
for i in range(2, 101):
for j in (2, i):
if i % j == 0:
break
else:
total += i
print(total)

猜你喜欢

转载自www.cnblogs.com/luckgirlBlog/p/11791811.html