1. 程式人生 > >實戰演練(二)

實戰演練(二)

數字重複統計

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()

在這裡插入圖片描述