字符串,列表,字典的一些练习题
name = " aleX"
# 1) 移除 name 变量对应的值两边的空格,并输出处理结果
print(name[1:])
# 2) 判断 name 变量对应的值是否以 "al" 开头,并输出结果
if name.startswith('al') == True:
print(name)
# 3) 判断 name 变量对应的值是否以 "X" 结尾,并输出结果
if name.endswith('X') == True:
print(name)
# 4) 将 name 变量对应的值中的 “l” 替换为 “p”,并输出结果
print(name.replace("l","P",1))
# 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” 所在索引位置?
count = 0
for i in name:
if i == 'e':
print(count)
count += 1
# 12) 获取子序列,去掉最后一个字符。如: oldboy 则获取 oldbo。
lt = list(input('请输入一段序列'))
lt.pop(-1)
print(lt)
# 1.将以下数据存储为字典类型
# 数据:info = "name:Owen|age:18|gender:男"
# 结果:{'name': 'Owen', 'age': 18, 'gender': '男'}
for i in info:
a,b = i.split(':')
if b.isdigit():
b = int (b)
dic[a]= b
print(dic)
# 2.完成数据的去重
# 数据:t3 = [1, 2, 1, 2, 3, 5, 9]
# 结果:t3 = [1, 2, 3, 5, 9]
t3 = [1, 2, 1, 2, 3, 5, 9]
t3 = set(t3)
print(t3)
# 3 有如下值集合 [11,22,33,44,55,66,77,88,99,90...],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中
即: {'k1': 大于66的所有值, 'k2': 小于66的所有值}
s = [11,22,33,44,55,66,77,88,99,90]
k1=[]
k2=[]
for i in s:
if i > 66:
k1.append(i)
if i < 66:
k2.append(i)
print(k1,k2)
# 4.完成录入电话本(选做)
# 需求:
'''
-- 从键盘中录入姓名(不区分大小写):
-- 姓名必须是全英文字母组成,不是则重新录入姓名,如果是q,代表退出
-- 从键盘中再录入电话:
-- 电话必须为字符串中是数字(如'12312312312')且长度必须是11位
-- 如果出现姓名相同,则保留最后一次电话号码
-- 形成的数据是有电话分组的,如:第一次录入Owen,13355667788,则会形成
-- {
'O': {
'Owen': '13355667788'
}
}
最终数据,分组名一定大写:
{
'E': {
'egon': '17788990000',
'engo': '16633445566'
},
'O': {
'Owen': '13355667788'
}
}
'''
name = ''
while True:
s = input('请输入姓名,按q结束')
if not s.isalpha() :
print('请输入英文')
continue
if s == 'q':
break
name = name + s
while True:
number = input('请输入电话号码11位')
if len(number) == 11:
break
else:
print('请输入11位数')
dic ={name:number}
print(f'{(name[:1]).upper()}:{dic}')