Python基礎(chǔ)實(shí)戰(zhàn)總結(jié)
前言:
前幾天有個(gè)叫【-berry】的粉絲在Python交流群里問了一道關(guān)于大學(xué)生Python題目的問題,如下圖所示。

初步一看,還是覺得有點(diǎn)難的,對(duì)于剛學(xué)完基礎(chǔ)的小伙伴來說,這個(gè)小項(xiàng)目還是有點(diǎn)難度,這個(gè)題目主要考察的是random庫、列表、字典、open文件操作等基礎(chǔ)操作,運(yùn)用實(shí)際生活中的例子,確實(shí)是一個(gè)練手的好題目。
一、思路
其實(shí)問題的關(guān)鍵點(diǎn)就是在于構(gòu)造姓名,學(xué)號(hào)和成績,之后以字典的形式進(jìn)行寫入文件。這里準(zhǔn)備兩個(gè)列表,一個(gè)姓,一個(gè)名,之后使用random庫進(jìn)行隨機(jī)字符串拼接,得到姓名。
二、解決方法
1)TXT文件存儲(chǔ)
直接上代碼,如下所示:
# !/usr/bin/env python
# -*- coding:utf-8 -*-
# @FileName :test.py
# @Time :2021/9/19 21:34
# @Author :Cat
import random
xing = ['趙','錢','孫','李','周','吳','鄭','王',
'馮','陳','褚','衛(wèi)','蔣','沈','韓','楊',
'朱','秦','尤','許','何','呂','施','張',
'孔','曹','嚴(yán)','華','金','魏','陶','姜',
'戚','謝','鄒','喻','柏','水','竇','章',
'云','蘇','潘','葛','奚','范','彭','郎',
'魯','韋','昌','馬','苗','鳳','花','方',
'俞','任','袁','柳','酆','鮑','史','唐',
'費(fèi)','廉','岑','薛','雷','賀','倪','湯',
'滕','殷','羅','畢','郝','鄔','安','常',
'樂','于','時(shí)','傅','皮','卞','齊','康',
'伍','余','元','卜','顧','孟','平','黃',
'和','穆','蕭','尹','姚','邵','湛','汪',
'祁','毛','禹','狄','米','貝','明','臧',
'計(jì)','伏','成','戴','談','宋','茅','龐',
'熊','紀(jì)','舒','屈','項(xiàng)','祝','董','梁',]
ming = [
'凡','佳','勤','珍','貞','鴻','煥','風(fēng)','朗',
'浩','亮','政','謙','振','壯','偉','剛','勇','毅','俊','峰','強(qiáng)','軍','平','保','東','文','輝','力','固','之','段','殿','泰',
'利','清','飛','彬','富','順','信','子','杰','濤','昌','成','康','星','翰','誠','博','先','敬',
'若','鳴','朋','斌','梁','棟','維','啟','克','倫','翔','旭','鵬','澤','朗','伯','彪','晉','晟',
'誠','先','敬','震','振','壯','會(huì)','思','群','豪','心','邦','承','樂','宏','言','旲','旻','昊',
'光','天','達(dá)','安','巖','中','茂','進(jìn)','林','有','堅(jiān)','和','彪','博','泰','盛','振','挺','掣',
'明','永','健','世','廣','志','義','興','良','海','山','仁','波','寧','行','時(shí)','志','忠','思',
'紹','功','松','善','厚','慶','磊','民','友','裕','河','哲','江','超','炎','德','彰','征','律',
'晨','辰','士','以','建','家','致','煜','煊','炎','波','寧','貴','福','生','龍','元','全','國',
'勝','學(xué)','祥','才','發(fā)','武','新','利','清','飛','彬','富','順','信','子','杰','濤','昌','成',
'康','星','光','天','達(dá)','安','巖','中','茂','進(jìn)','林','有','堅(jiān)','和'
]
with open('students.txt', 'a', encoding='utf-8') as f:
for i in range(9):
item = {}
item['姓名'] = random.choice(xing) + random.choice(ming)
item['學(xué)號(hào)'] = str(2020010001 + i)
item['成績'] = random.randint(0, 100)
f.write(str(item))
f.write('\n')
運(yùn)行之后,得到的結(jié)果如下所示:

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

每次運(yùn)行程序之后,得到的txt和csv文件中的內(nèi)容都是隨機(jī)獲取的,完成需求。
三、總結(jié)
我是Python進(jìn)階者。本文基于粉絲提問,完成了一道Python基礎(chǔ)實(shí)戰(zhàn)題目,主要涉及的知識(shí)點(diǎn)是random庫、列表、字典、文件讀取等知識(shí)。
到此這篇關(guān)于Python基礎(chǔ)實(shí)戰(zhàn)總結(jié)的文章就介紹到這了,更多相關(guān)Python基礎(chǔ)實(shí)戰(zhàn)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python生產(chǎn)者與消費(fèi)者模型中的優(yōu)勢(shì)介紹
這篇文章主要介紹了python多進(jìn)程中的生產(chǎn)者和消費(fèi)者模型優(yōu)勢(shì),生產(chǎn)者是指生產(chǎn)數(shù)據(jù)的任務(wù),消費(fèi)者是指消費(fèi)數(shù)據(jù)的任務(wù)。當(dāng)生產(chǎn)者的生產(chǎn)能力遠(yuǎn)大于消費(fèi)者的消費(fèi)能力,生產(chǎn)者就需要等消費(fèi)者消費(fèi)完才能繼續(xù)生產(chǎn)新的數(shù)據(jù)2023-03-03
使用selenium模擬登錄解決滑塊驗(yàn)證問題的實(shí)現(xiàn)
這篇文章主要介紹了使用selenium模擬登錄解決滑塊驗(yàn)證問題的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05
Python中三元運(yùn)算符的簡潔性及多用途實(shí)例探究
這篇文章主要為大家介紹了Python中三元運(yùn)算符的簡潔性及多用途實(shí)例探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01
Django Docker容器化部署之Django-Docker本地部署
這篇文章主要介紹了Django Docker容器化部署之Django-Docker本地部署,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10
使用Python實(shí)現(xiàn)簡單的服務(wù)器功能
socket的使用并不局限于Python語言,你可以用C或者Java來寫出同樣的socket服務(wù)器,而所有語言使用socket的方式都類似(Apache就是使用C實(shí)現(xiàn)的服務(wù)器)2017-08-08
python實(shí)現(xiàn)的生成word文檔功能示例
這篇文章主要介紹了python實(shí)現(xiàn)的生成word文檔功能,涉及Python數(shù)據(jù)查詢、遍歷及word文檔生成相關(guān)操作技巧,需要的朋友可以參考下2019-08-08

