字符串内置方法以及字典的联系题目

预科班day05作业

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

    tel = input('请输入电话号码:')
    if tel.isdigit() and len(tel)== 11 :
        infor[name] = tel
    else:
        print('电话号码有误,请重新输入')
        continue
    if not name[0].upper() in information :
        information.setdefault(name[0].upper(),infor)
    else:
        information[name[0].upper()].setdefault(name,tel)

posted @ 2019-07-19 19:06  cheng825  阅读(167)  评论(0编辑  收藏  举报