python语言篇(6练习2)

该博客主要包含Python编程练习。一是用推导式将字符串列表转换为字典,值为键的长度;二是输入字符串,统计各字符出现次数;三是通过集合操作,对经理和技术员人员名单进行交集、差集等运算,解决人员身份相关问题。

# 练习:
#   1. 有字符串列表如下:
#       L = ["tarena", 'xiaozhang', 'hello']
#     用推导式生成如下字典:
#       d = {"tarena":6, 'xiaozhang':9, 'hello':5}
#     注: 字典的值为键的长度

L = ["tarena", 'xiaozhang', 'hello']
d = {x: len(x) for x in L}
print(d)
 

# 2. 输入一段字符串,打印出这个字符串中出现过的字符及出现过的次数:
#   如:
#     输入:abcdabcaba
#   打印如下:
#     a: 4次
#     b: 3次
#     d: 1次
#     c: 2次
#     注: 不要求打印顺序    

s = input("请输入: ")
# 方法1
# char_set = set(s)
# for c in char_set:
#     print(c, ":", s.count(c), "次")

# 方法2
# 先创建一个空字典,字典的键为字符,字典的值为: 重复次数
# 'abcdabcaba'
d = {}
for c in s:
    # 先判断字典d里有没有 c对应的字符。
    if c in d:
        # 如果已经存在于字典中,将次数做加1操作
        d[c] += 1
    else:
        # 否则 把c绑定的字符作为键加到字典中,此键对应的值为1
        d[c] = 1

print(d)
for k in d:  # 打印结果
    print(k, ":", d[k], "次")

 

# 集合练习:
#   经理有: 曹操,刘备,周瑜
#   技术员有: 曹操,周瑜,张飞,赵云
#   用集合求:
#     1. 即是经理也是技术员的有谁?
#     2. 是经理,但不是技术员的有谁?
#     3. 是技术人员,但不是经理的都有谁?
#     4. 张飞是经理吗?
#     5. 身兼一职的人都有谁?
#     6. 经理和技术员共有几个人?
#     


manager = {'曹操', '刘备', '周瑜'}
tech = {'曹操', '周瑜', '张飞', '赵云'}
print("即是经理也是技术员的有:", manager & tech)

print("是经理,但不是技术员的有:", manager - tech)
print("是技术人员,但不是经理的都有:", tech - manager)
print("张飞", "是" if "张飞" in manager else "不是", "经理")
print("身兼一职的人都有谁", manager ^ tech)
print("经理和技术员共有%d个人" % len(manager | tech))

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值