Python 学习day08

课后作业

1. 有如下值集合 [11,22,33,44,55,66,77,88,99,90...],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中

即: {'k1': 大于66的所有值, 'k2': 小于66的所有值}
 #解
list_min = []
list_max = []
dic = {'key1':[],'key2':[]}
for i in list1:
    if i>66:
        list_max.append(i)
    else:
        list_min.append(i)
dic['key1']=list_max
dic['key2']=list_min
print(dic)
2. 统计s='hello alex alex say hello sb sb'中每个单词的个数

结果如:{'hello': 2, 'alex': 2, 'say': 1, 'sb': 2}
 #解
dic = {}
s_list =s.split()

for i in s_list:
    dic[i]=len(i)
print(dic)
3. 写代码,有如下变量,请按照要求实现每个功能 
name = " aleX"
# 1)移除 name 变量对应的值两边的空格,并输出处理结果
name1 = name.split()
print(name1)
# 2)判断 name 变量对应的值是否以 "al" 开头,并输出结果
if name.startswith('al'):
    print('True')
else:
    print('False')
# 3)判断 name 变量对应的值是否以 "X" 结尾,并输出结果
if name.endswith('X'):
    print('True')
else:
    print('False')
# 4)将 name 变量对应的值中的 “l” 替换为 “p”,并输出结果
if 'l' in name:
    name4 = name.replace('l','p')
    print(name4)
else:
    print(name)
# 5)将 name 变量对应的值根据 “l” 分割,并输出结果。
name5 = name.split('l')
print(name5)
# 6)请输出 name 变量对应的值的第 2 个字符?
print(name[1])
# 7)请输出 name 变量对应的值的前 3 个字符?
print(name[0:3])
# 8)请输出 name 变量对应的值的后 2 个字符?
print(name[-3:])
# 9)请输出 name 变量对应的值中 “e” 所在索引位置?
print(name.index('e'))
# 10)获取子序列,去掉最后一个字符。如: oldboy 则获取 oldbo。
name10_list = []
for i in name:
    name10_list.append(i)
name10_list = name10_list[:-1]
print(name10_list)
4. 假设有一个文件test.txt,内有如下内容
l=[
    {'name':'alex','age':84},
    {'name':'oldboy','age':73},
    {'name':'egon','age':18},
]
需求:
1. 读取文件内容
2. 计算这三个人的年龄总和
 #解
with open(r'E:\PYTHON\py\day 08\test.txt','r') as f:
    f = f.read()
    print(f)
    f = f.lstrip('l=')
    f_list = eval(f)
    # print(f_list)
    #     # print(type(f_list))
    age_count = 0
    for t in f_list:
        age_count = age_count + t['age']
    print(age_count)
posted @ 2019-08-30 16:53  simple123  阅读(137)  评论(0编辑  收藏  举报