小练习

name = " aleX"
# 1)    移除 name 变量对应的值两边的空格,并输出处理结果
        name = name.strip(" ")
        print(name)
# 2)    判断 name 变量对应的值是否以 "al" 开头,并输出结果
        print(name.startswith("al"))
# 3)    判断 name 变量对应的值是否以 "X" 结尾,并输出结果
        print(name.endswith("X"))
# 4)    将 name 变量对应的值中的 “l” 替换为 “p”,并输出结果
        name = name.replace("l", "p")
        print(name)
# 5)    将 name 变量对应的值根据 “l” 分割,并输出结果。
        name.split("l")
        print(name) 
# 6)    将 name 变量对应的值变大写,并输出结果
        name = name.upper()
        print(name)
# 7)    将 name 变量对应的值变小写,并输出结果
        name = name.lower()
        print(name)
# 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.strip("X"))
# 1.将以下数据存储为字典类型
# 数据:info = "name:Owen|age:18|gender:男"
# 结果:{'name': 'Owen', 'age': 18, 'gender': '男'}
t = dict()
info = "name:Owen|age:18|gender:男"
info = info.split("|")
for i in info:
    x = i.split(":")
    if x[1].isdigit():
       t[x[0]] = eval(x[1])
    else:
        t[x[0]] = x[1]
print(t)

# 2.完成数据的去重
# 数据:t3 = [1, 2, 1, 2, 3, 5, 9]
# 结果:t3 = [1, 2, 3, 5, 9]
t = set(t3)
t3 = list(t)
print(t3)
# 3 有如下值集合 [11,22,33,44,55,66,77,88,99,90...],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中
即: {'k1': 大于66的所有值, 'k2': 小于66的所有值}
list_1 = [11, 22, 33, 44, 55, 66, 77, 88, 99, 90]
list_2 = list()
list_3 = list()
sum_1 = dict()
for i in list_1:
    if i >= 66:
        list_2.append(i)
        sum_1["key1"] = list_2
    else:
        list_3.append(i)
        sum_1["key2"] = list_3
print(sum_1)
# 4.完成录入电话本(选做)
# 需求:
'''
-- 从键盘中录入姓名(不区分大小写):
	-- 姓名必须是全英文字母组成,不是则重新录入姓名,如果是q,代表退出
-- 从键盘中再录入电话:
	-- 电话必须为字符串中是数字(如'12312312312')且长度必须是11位
-- 如果出现姓名相同,则保留最后一次电话号码
-- 形成的数据是有电话分组的,如:第一次录入Owen,13355667788,则会形成
	-- {
    	'O': {
    		'Owen': '13355667788'
    	}
	}
	
最终数据,分组名一定大写:
{
    'E': {
		'egon': '17788990000',
		'engo': '16633445566'
    },
    'O': {
    	'Owen': '13355667788'
    }
}
'''
dh1 = dict()
while True:
    dh = {}
    print(type(dh))
    xm = input("请输入姓名:")
    if not xm.isalpha():
        print("名字必须是英文")
        xm = input("请输入姓名:")
    if xm == "q":
        break
    tel = input("请输入电话号码")
    if tel.isdigit() and len(tel) == 3:
        dh.setdefault(xm, tel)
        if xm[0].upper() in dh1:
            dh1[xm[0].upper()].setdefault(xm, tel)
            print(dh1)
        else:
            dh1.setdefault(xm[0].upper(), dh)
            print(dh1)
else:
    print("号码由数字组成且必须是11位")

posted @ 2019-07-18 22:04  cheerxiong  阅读(188)  评论(0编辑  收藏  举报