- 字符串练习
# 写代码,有如下变量,请按照要求实现每个功能 (共6分,每小题各0.5分)
name = " alberT"
# 1) 移除 name 变量对应的值两边的空格,并输出处理结果
print(name.strip())
# 2) 判断 name 变量对应的值是否以 "al" 开头,并输出结果
result1 = name.startswith("al")
print(result1)
# 3) 判断 name 变量对应的值是否以 "T" 结尾,并输出结果
result = name.endswith("T")
print(result)
# 4) 将 name 变量对应的值中的 “l” 替换为 “p”,并输出结果
print(name.replace("l", "p"))
# 5) 将 name 变量对应的值根据 “l” 分割,并输出结果。
print(name.split("l"))
# 6) 将 name 变量对应的值变大写,并输出结果
print(name.upper())
# 7) 将 name 变量对应的值变小写,并输出结果
print(name.lower())
# 8) 请输出 name 变量对应的值的第 2 个字符?
print(name[1])
# 9) 请输出 name 变量对应的值的前 3 个字符?
print(name[:3])
# 10) 请输出 name 变量对应的值的后 2 个字符?
print(name[-2:])
# 11) 请输出 name 变量对应的值中 “e” 所在索引位置?
print(name.index("e"))
# 12) 获取子序列,去掉最后一个字符。如: albert 则获取 alber
print(name[:-1])
- 列表练习
# 有列表data=['albert',18,[2000,1,1]],分别取出列表中的名字,年龄,出生的年,月,日赋值给不同的变量
data=['albert',18,[2000,1,1]]
name = data[0]
age = data[1]
birth_year = data[2][0]
birth_month = data[2][1]
birth_date = data[2][2]
- 字典练习
"""
简单购物车,要求如下:
实现打印商品详细信息,用户输入商品名和购买个数,则将商品名,价格,购买个数加入购物列表,如果输入为空或其他非法输入则要求用户重新输入
"""
msg_dic={
'apple':10,
'tesla':100000,
'mac':3000,
'lenovo':30000,
'chicken':10,
}
goods = []
while True:
good = input("请输入商品名:")
numb = eval(input("请输入购买数量:"))
if good in msg_dic and numb.isnumric():
goods.append((good, msg_dic[good],numb ))
else:
print("请重新输入!")
continue
print(goods)
"""
有如下值集合 [11,22,33,44,55,66,77,88,99,90...],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中
即: {'k1': 大于66的所有值, 'k2': 小于66的所有值}
"""
list_a = [11,22,33,44,55,66,77,88,99,90]
a = {"k1":[], "k2":[]}
for i in list_a:
if i > 66:
a["k1"].append(i)
else:
a["k2"].append(i)
print(a)
- 集合练习
'''
一.关系运算
有如下两个集合,pythons是报名python课程的学员名字集合,ais是报名人工智能课程的学员名字集合
'''
pythons={'albert','孙悟空','周星驰','朱茵','林志玲'}
ais={'猪八戒','郭德纲','林忆莲','周星驰'}
# 1. 求出即报名python又报名ai课程的学员名字集合
print(pythons & ais)
# 2. 求出所有报名的学生名字集合
print(pythons | ais)
# 3. 求出只报名python课程的学员名字
print(pythons - ais)
# 4. 求出没有同时这两门课程的学员名字集合
print(pythons ^ ais)
# 去重
l=['a','b',1,'a','a']
# 1. 有列表l=['a','b',1,'a','a'],列表元素均为可不可变类型,去重,得到新列表,且新列表无需保持列表原来的顺序
s = list(set(l))
print(s)
# 2.在上题的基础上,保存列表原来的顺序
l2 = []
for i in l:
if i not in l2:
l2.append(i)
print(l2)
# 3.去除文件中重复的行,肯定要保持文件内容的顺序不变(后面的章节会讲文件操作)
import os
with open("data.txt", "r", encoding="utf-8") as f_a,\
open("data_2.txt", "w", encoding="utf-8") as f_b:
# data_2.txt 文件并不事先存在
set_a = set()
for line in f_a:
if line not in set_a:
set_a.add(line)
f_b.write(line)
os.remove("data.txt")
os.rename("data_2.txt", "data.txt")
# 4.有如下列表,列表元素为可变类型,去重,得到新列表,且新列表一定要保持列表原来的顺序
l=[
{'name':'albert','age':18,'sex':'male'},
{'name':'alex','age':73,'sex':'male'},
{'name':'albert','age':20,'sex':'female'},
{'name':'albert','age':18,'sex':'male'},
{'name':'albert','age':18,'sex':'male'},
]
l2 = []
for i in l:
if i not in l2:
l2.append(i)
print(l2)
网友评论