Python基礎實戰總結

前言:

前幾天有個叫【-berry】的粉絲在Python交流群裡問瞭一道關於大學生Python題目的問題,如下圖所示。

 

初步一看,還是覺得有點難的,對於剛學完基礎的小夥伴來說,這個小項目還是有點難度,這個題目主要考察的是random庫、列表、字典、open文件操作等基礎操作,運用實際生活中的例子,確實是一個練手的好題目。

一、思路

其實問題的關鍵點就是在於構造姓名,學號和成績,之後以字典的形式進行寫入文件。這裡準備兩個列表,一個姓,一個名,之後使用random庫進行隨機字符串拼接,得到姓名。

二、解決方法

1)TXT文件存儲

直接上代碼,如下所示:

# !/usr/bin/env python 
# -*- coding:utf-8 -*- 
# @FileName  :test.py 
# @Time      :2021/9/19 21:34 
# @Author    :Cat 
 
import random 
 
xing = ['趙','錢','孫','李','周','吳','鄭','王', 
'馮','陳','褚','衛','蔣','沈','韓','楊', 
'朱','秦','尤','許','何','呂','施','張', 
'孔','曹','嚴','華','金','魏','陶','薑', 
'戚','謝','鄒','喻','柏','水','竇','章', 
'雲','蘇','潘','葛','奚','范','彭','郎', 
'魯','韋','昌','馬','苗','鳳','花','方', 
'俞','任','袁','柳','酆','鮑','史','唐', 
'費','廉','岑','薛','雷','賀','倪','湯', 
'滕','殷','羅','畢','郝','鄔','安','常', 
'樂','於','時','傅','皮','卞','齊','康', 
'伍','餘','元','卜','顧','孟','平','黃', 
'和','穆','蕭','尹','姚','邵','湛','汪', 
'祁','毛','禹','狄','米','貝','明','臧', 
'計','伏','成','戴','談','宋','茅','龐', 
'熊','紀','舒','屈','項','祝','董','梁',] 
 
ming = [ 
       '凡','佳','勤','珍','貞','鴻','煥','風','朗', 
    '浩','亮','政','謙','振','壯','偉','剛','勇','毅','俊','峰','強','軍','平','保','東','文','輝','力','固','之','段','殿','泰', 
'利','清','飛','彬','富','順','信','子','傑','濤','昌','成','康','星','翰','誠','博','先','敬', 
'若','鳴','朋','斌','梁','棟','維','啟','克','倫','翔','旭','鵬','澤','朗','伯','彪','晉','晟', 
'誠','先','敬','震','振','壯','會','思','群','豪','心','邦','承','樂','宏','言','旲','旻','昊', 
'光','天','達','安','巖','中','茂','進','林','有','堅','和','彪','博','泰','盛','振','挺','掣', 
'明','永','健','世','廣','志','義','興','良','海','山','仁','波','寧','行','時','志','忠','思', 
'紹','功','松','善','厚','慶','磊','民','友','裕','河','哲','江','超','炎','德','彰','征','律', 
'晨','辰','士','以','建','傢','致','煜','煊','炎','波','寧','貴','福','生','龍','元','全','國', 
'勝','學','祥','才','發','武','新','利','清','飛','彬','富','順','信','子','傑','濤','昌','成', 
'康','星','光','天','達','安','巖','中','茂','進','林','有','堅','和' 
] 
 
 
with open('students.txt', 'a', encoding='utf-8') as f: 
    for i in range(9): 
        item = {} 
        item['姓名'] = random.choice(xing) + random.choice(ming) 
        item['學號'] = str(2020010001 + i) 
        item['成績'] = random.randint(0, 100) 
        f.write(str(item)) 
        f.write('\n') 


運行之後,得到的結果如下所示:

 

2)CSV文件存儲

代碼如下所示:

# !/usr/bin/env python 
# -*- coding:utf-8 -*- 
# @FileName  :test_csv.py 
# @Time      :2021/9/26 21:01 
# @Author    :Cat 
 
import random 
import csv 
 
 
headers = ['姓名', '學號', '成績'] 
 
xing = ['趙','錢','孫','李','周','吳','鄭','王', 
'馮','陳','褚','衛','蔣','沈','韓','楊', 
'朱','秦','尤','許','何','呂','施','張', 
'孔','曹','嚴','華','金','魏','陶','薑', 
'戚','謝','鄒','喻','柏','水','竇','章', 
'雲','蘇','潘','葛','奚','范','彭','郎', 
'魯','韋','昌','馬','苗','鳳','花','方', 
'俞','任','袁','柳','酆','鮑','史','唐', 
'費','廉','岑','薛','雷','賀','倪','湯', 
'滕','殷','羅','畢','郝','鄔','安','常', 
'樂','於','時','傅','皮','卞','齊','康', 
'伍','餘','元','卜','顧','孟','平','黃', 
'和','穆','蕭','尹','姚','邵','湛','汪', 
'祁','毛','禹','狄','米','貝','明','臧', 
'計','伏','成','戴','談','宋','茅','龐', 
'熊','紀','舒','屈','項','祝','董','梁',] 
 
ming = [ 
       '凡','佳','勤','珍','貞','鴻','煥','風','朗', 
    '浩','亮','政','謙','振','壯','偉','剛','勇','毅','俊','峰','強','軍','平','保','東','文','輝','力','固','之','段','殿','泰', 
'利','清','飛','彬','富','順','信','子','傑','濤','昌','成','康','星','翰','誠','博','先','敬', 
'若','鳴','朋','斌','梁','棟','維','啟','克','倫','翔','旭','鵬','澤','朗','伯','彪','晉','晟', 
'誠','先','敬','震','振','壯','會','思','群','豪','心','邦','承','樂','宏','言','旲','旻','昊', 
'光','天','達','安','巖','中','茂','進','林','有','堅','和','彪','博','泰','盛','振','挺','掣', 
'明','永','健','世','廣','志','義','興','良','海','山','仁','波','寧','行','時','志','忠','思', 
'紹','功','松','善','厚','慶','磊','民','友','裕','河','哲','江','超','炎','德','彰','征','律', 
'晨','辰','士','以','建','傢','致','煜','煊','炎','波','寧','貴','福','生','龍','元','全','國', 
'勝','學','祥','才','發','武','新','利','清','飛','彬','富','順','信','子','傑','濤','昌','成', 
'康','星','光','天','達','安','巖','中','茂','進','林','有','堅','和' 
] 
 
 
with open('students.csv', 'a', encoding='utf-8', newline='') as f: 
    csv_writer = csv.DictWriter(f, headers) 
    csv_writer.writeheader() 
 
    for i in range(9): 
        item = {} 
        item['姓名'] = random.choice(xing) + random.choice(ming) 
        item['學號'] = str(2020010001 + i) 
        item['成績'] = random.randint(0, 100) 
        csv_writer.writerow(item) 


運行之後,得到的結果如下所示:

 

每次運行程序之後,得到的txt和csv文件中的內容都是隨機獲取的,完成需求。

三、總結

我是Python進階者。本文基於粉絲提問,完成瞭一道Python基礎實戰題目,主要涉及的知識點是random庫、列表、字典、文件讀取等知識。

到此這篇關於Python基礎實戰總結的文章就介紹到這瞭,更多相關Python基礎實戰內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: