实战演练(二)

数字重复统计

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

import random
num_li = []
i = 0
while i <= 1000:
    add_num = random.randint(20,100)
    num_li.append(add_num)
    i += 1

num_set = set(num_li)
print(num_set)
num_tuple = tuple(num_li)

print('重复的数字\t重复的次数')
for j in range(20,101):
    time = num_tuple.count(j)
    print('%d\t\t\t%d' %(j,time))

在这里插入图片描述

随机生成100个卡号

1).卡号以6102009开头, 后面3位依次是 (001, 002, 003, 100),
2). 生成关于银行卡号的字典, 默认每个卡号的初始密码为"redhat";
3). 输出卡号和密码信息, 格式如下:

卡号 密码
6102009001 000000

再次之前先介绍fromkeys函数

fromkeys第一个参数可以是 list/tuple/str/set
将第一个参数的元素作为字典的key值;
并且所有key的value值一致。
例如:

print({}.fromkeys({'1','2'},'0000000'))

本题代码:

#存储所有卡号列表,也可以通过集合来存储
card_ids = []

# 生成100个卡号
for i in range(100):
    s = '6102009%.3d' %(i+1)      # %.3d代表这个整型数占3位 eg:1--->001
    card_ids.append(s)            # 将每次生成的卡号都加入到列表中
card_ids_dict = {}.fromkeys(card_ids,'redhat')
print(card_ids_dict)

print('卡号\t\t\t\t\t密码')
for key in card_ids_dict:
    print('%s\t\t\t%s' %(key,card_ids_dict[key]))

在这里插入图片描述

重复的单词

此处认为单词之间以空格为分隔符
1.用户输入一句英文句子;
2.打印出每个单词及其重复的次数。

# 用户输入一句英文句子
sentence = input('请输入一句英文句子:')
split_sentence = sentence.split(' ')
# print(split_sentence)
# 打印出每个单词
# print(len(split_sentence))
for i in range(len(split_sentence)):
    print(split_sentence[i])
# 每个单词重复次数
sentence_set = set(split_sentence)
sentence_tuple = tuple(split_sentence)
# print(sentence_set)
print('重复出现的单词\t重复出现的次数')
for j in sentence_set:
    print('%s\t\t\t\t%s' %(j,sentence_tuple.count(j)))
    print()

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/dodobibibi/article/details/84538598