操作1:用基础知识,把下面一段话写到一个文件中,然后读取该文件,用split将其分解,然后写入字典或者列表,然后判断哪个城市大于平均数。
操作2:将分析结果数据写入一个csv文件中,文件包含城市名,病人数字段;同时新加一个字段,如果病人数>500就写严重;否则就写不严重。要求用函数。
文字:武汉市41152例、孝感市3279例、黄冈市2831例、荆州市1501例、鄂州市1274例、随州市1267例、襄阳市1155例、黄石市983例、荆门市915例、宜昌市895例、咸宁市861例、十堰市612例、仙桃市531例、天门市485例、恩施洲249例、潜江市182例、神农架林区10例。
代码如下:
#写入txt
f=open('demo.txt','w')
f.write('武汉市41152例、孝感市3279例、黄冈市2831例、荆州市1501例、鄂州市1274例、随州市1267例、襄阳市1155例、黄石市983例、荆门市915例、宜昌市895例、咸宁市861例、十堰市612例、仙桃市531例、天门市485例、恩施洲249例、潜江市182例、神农架林区10例。')
f.close()
#读取txt
f=open('demo.txt','r')
content=f.read()
f.close()
#进行分割等操作
content=content.replace('洲','市')
content=content.replace('区','市')
contentnew=content.split('、')
city=[None]*len(contentnew)
i=0
while i<len(contentnew):
city[i]={}
i=i+1
j=0
while j<len(contentnew):
a=contentnew[j].split('市')
b=a[1].split('例')
city[j]['name']=a[0]
city[j]['num']=b[0]
j=j+1
n=0
nsum=0
while n<len(contentnew):
nsum=nsum+int(city[n]['num'])
n=n+1
naverage=nsum/len(contentnew)
t=0
while t<len(contentnew):
if(int(city[t]['num'])>naverage):
print(city[t]['name']+' ')
t=t+1
#写入csv
import csv
f=open('demo.csv','w',encoding="UTF8",newline='')
def writeCsv(citydic):
t=0
while t<len(citydic):
if(int(citydic[t]['num'])>500):
citydic[t]['extend']="严重"
else:
citydic[t]['extend']="较轻"
t=t+1
return citydic
city=writeCsv(city)
writer=csv.writer(f)
for i in city:
writer.writerow(list(i.values()))
f.close()