實戰演練(二)
阿新 • • 發佈:2018-11-26
數字重複統計
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()