字典集合案例

1.统计字符

统计字符串中每个字符出现的次数

s = 'l like summer very much'
#去掉空格
s = s.replace(" ","")
d = dict()
for i in s:
    if i in d:
        d[i] += 1
    else:
        d[i] = 1
for i in d:
    print(i,d[i])

2.求不重复的随机数

#导入随机数
import random
a = int(input("请输入随机数的范围:"))
n = int(input("请输入随机数的个数:"))
s = set()
while len(s) < n :
    i = random.randint(1,a)
    s.add(i)
print(s)

3.设计不可变集合

set    可变集合   

可读可写的集合

基本功能:关系检测和元素去重

frozenset   不可变集合

只读的set集合

基本功能:定义哈希值

将两个城市定为键,将城市距离定义为值
city_discance = {}
key1 = frozenset(["Beijing","Tianjing"])
key2 = frozenset(["Shanghai","Zhejinag"])
key3 = frozenset(["Chongqing","Chengdu"])
city_discance[key1] = 123
city_discance[key2] = 456
city_discance[key3] = 789
print(city_discance)

4.创建用户登录系统

#统计用户名和密码
user = {}
#统计输入密码的次数为3
count = 3
while True:
    print("*"*40)
    name = input("请输入用户名:")
    if name in user:
        while count >= 0:
            pw = input("请输入密码:")
            if user[name] == pw:
                print("密码正确,登录成功!")
                break
            else:
                print("登录失败,你还有%d次机会"%count)
                count -= 1
        else:
            print("密码输入次数已到")
    else:
        f = input("用户名不存在,是否创建用户名[y/n]")
        if f == "y":
            while True:
                name = input("请输入用户名: ")
                if name in user:
                    print("用户名已存在")
                else:
                    pw = input("请输入密码:")
                    repw = input("请再次输入密码")
                    if pw == repw:
                        user[name] =1 pw
                        print("用户创建成功")
                        break
                    else:
                        print("密码输入有误")
            else:
                print("退出系统,欢迎下次再来")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值