首页 > 其他 > 详细

几道练习题

时间:2019-08-30 23:24:39      阅读:72      评论:0      收藏:0      [点我收藏+]

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

即: {‘k1‘: 大于66的所有值, ‘k2‘: 小于66的所有值}

lis = [11,22,33,44,55,66,77,88,99,90]
s = []  #定义一个空列表
b = []
for i in lis:  #原循环列表值
    if i<=66:
        s.append(i)  #如果小于66则用append()方法向s列表中加入该值
    else:
        b.append(i)  #如果大于于66则用append()方法向b列表中加入该值
dic = {k1:s,k2:b}  # 定义一个字典存放
print(dic)

2. 统计s=‘hello alex alex say hello sb sb‘中每个单词的个数

结果如:{‘hello‘: 2, ‘alex‘: 2, ‘say‘: 1, ‘sb‘: 2}

s = hello alex alex say hello sb sb

dic = {}
lis = s.split( )#将字符串变成列表
# print(lis )
for i in lis:   #循环列表
    num = lis.count(i)#统计每个元素的个数
    # print(num)
    dic[i] = num #赋值给字典增加元素
print(dic)

3. 写代码,有如下变量,请按照要求实现每个功能
name = " aleX"
# 1) 移除 name 变量对应的值两边的空格,并输出处理结果
# 2) 判断 name 变量对应的值是否以 "al" 开头,并输出结果
# 3) 判断 name 变量对应的值是否以 "X" 结尾,并输出结果
# 4) 将 name 变量对应的值中的 “l” 替换为 “p”,并输出结果
# 5) 将 name 变量对应的值根据 “l” 分割,并输出结果。
# 6) 请输出 name 变量对应的值的第 2 个字符?
# 7) 请输出 name 变量对应的值的前 3 个字符?
# 8) 请输出 name 变量对应的值的后 2 个字符?
# 9) 请输出 name 变量对应的值中 “e” 所在索引位置?
# 10) 获取子序列,去掉最后一个字符。如: oldboy 则获取 oldbo。

name =   alex
print(name.strip( ))
print(name.startswith(al))
print(name.endswith(x))
print(name.replace(l,p))
print(name.split(l))
print(name[1])
print(name[0:3])
print(name[4:6])
print(name.find(e))
print(name[0:-1])

4. 假设有一个文件test.txt,内有如下内容
l=[
{‘name‘:‘alex‘,‘age‘:84},
{‘name‘:‘oldboy‘,‘age‘:73},
{‘name‘:‘egon‘,‘age‘:18},
]

with open(test.txt)as f:
    data = f.read()          #打开并读取文件
# print(type(data))   # type:str
lis = eval(data)    #利用eval方法将str转为list
age_sum = lis[0][age] + lis[1][age] + lis[2][age]  #取值相加
print(age_sum)

在做第四题时,由于不懂eval的用法,一直出现语法错误(SyntaxError: invalid syntax),在Nick老师的帮助下发现是eval读取不了文件中中括号前面的=,把文件中的 l= 去掉,错误也消失了。

几道练习题

原文:https://www.cnblogs.com/lyyblog0715/p/11437067.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!