练习1:数字重复统计:
1). 随机生成1000个整数;
2). 数字的范围[20, 100]
3). 升序输出所有不同的数字及其每个数字重复的次数;
import random
all_num = []
for item in range(1000):
all_num.append(random.randint(20,100))
print(all_num)
sorted_nums = sorted(all_num)
num_dict = {}
for num in sorted_nums:
if num in num_dict:
num_dict[num] += 1
else:
num_dict[num] = 1
print(num_dict)
练习2:用户输入一句话,统计该句话中每个单词出现的次数,例如westos hello python westos,其中westos出现2次,hello出现1次,python出现1次
word = input('请输入一句话:')
item = word.split()
word_dict = {}
for num in item:
if num in word_dict:
word_dict[num] += 1
else:
word_dict[num] = 1
for k,v in word_dict.items():
print('%s\t%s\t' %(k,v))
练习3:银行卡号练习
1. 随机生成100个卡号;卡号以6102009开头, 后面3位依次是 (001, 002, 003... 100)
2. 生成关于银行卡号的字典, 默认每个卡号的初始密码为"redhat";
3. 输出卡号和密码信息, 格式如下:
卡号 密码
6102009001 000000
#方法一
card_id = [] #定义空列表,存储卡号
for i in range(1,101):
id = '6102009%.3d' %i
card_id.append(id)
card_dict = {} #定义空字典,存储卡号和密码
for key in card_id:
card_dict[key] = 'redhat'
print('卡号\t\t\t密码\t')
for k,v in card_dict.items(): #打印信息
print('%s\t%s\t' %(k,v))
# 方法二:
card_id = {}
for key in range(1,101):
id = '6102009%.3d' %key
card_id[id] = 'redhat'
print('卡号\t\t\t密码\t')
for k,v in card_id.items():
print('%s\t%s\t' %(k,v))