Python之字典(综合练习)

字典的综合练习

需求1:

数字重复统计:
    1)随机生成1000个整数;
    2)数字范围[20,100];
    3)升序输出所有不同的数字及其每个数字重复的次数

代码:

import random

# 1.随机生成1000个在20-100范围内的数字
nums = []
for i in range(1000):
    num = int(random.randint(20,100))
    nums.append(num)

# print(nums)

# 2.排序(升序)
sort_nums = sorted(nums)

# 3.存入字典,key--随机生成的数字,value--重复的次数
dict = {}
for i in  sort_nums:
     if i not in dict:
         dict[i] = 1
     else:
         dict[i] += 1
print(dict)

运行结果:
在这里插入图片描述
需求2:

重复的单词: 此处认为单词之间以空格为分隔符, 并且不包含,和.;
    # 1. 用户输入一句英文句子;
    # 2. 打印出每个单词及其重复的次数;

例如:

输入:
   "hello java hello python"

输出:
   hello 2
   java 1
   python 1

代码:

# 1.接收用户输入一句英文句子
sentence = input('sentence:')

# print(sentence.split(' '))

# 2.将接收的英文句子分离
split_sentence = sentence.split(' ')

# 3.存入字典,key--每个单词 value--每个单词重复的次数
dict = {}
for i in  split_sentence:
    if i not in dict:
        dict[i] = 1
    else:
        dict[i] += 1

# 4.按要求输出
for key,value in dict.items():
    print(key,value)

运行结果:
在这里插入图片描述
需求3:

1. 随机生成100个卡号;
    卡号以6102009开头,后面3位依次是 (001, 002, 003, 100)
2. 生成关于银行卡号的字典,默认每个卡号的初始密码为"redhat";

3. 输出卡号和密码信息, 格式如下:
卡号                  密码
6102009001              000000

代码:(方法1)

# 1.定义卡号默认前7位
head = '6102009'

# 2.生成按题目要求的100个卡号,并存入列表中
cards = []
for i in range(1,101):
    tail = '%.3d' %(i)
    card = head + tail
    # print(card)
    cards.append(card)

# 3.将卡号存入字典
num_dict = {}
for i in cards:
    num_dict[i] = 'redhat'

# 4.按题目要求输出
print('卡号\t\t\t\t密码')
for key,value in num_dict.items():
    print('%s\t\t %s' %(key,value))

在这里插入图片描述
代码:(方法2)

# 1.生成按题目要求的100个卡号,并存入列表中
s = []
for i in range(100):
    s1 = '6101009%.3d' %(i+1)
    s.append(s1)

# 2.定义具有相同value值的字典
s2={}.fromkeys(s,'redhat')

# 3.按题目要求输出
print('银行卡号\t\t\t密码')
for key, value, in s2.items():
    print('%s\t\t\t%s' % (key, value))

在这里插入图片描述

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值