#coding=utf-8import re
# 请在此处填写代码#********** Begin **********#
f =open('src/step1/constants.txt','r')
constants ={}
count =0for i in f:
count=count+1if count>2:
j=re.split('\s{2,}',i)
constants[j[0]]=float(j[1])print(constants)#********** End **********#
字符串操作 - 物质名称缩写
#coding=utf-8import re
defread_densities1(filename):# 请在此处填写代码# ********** Begin **********#
f=open(filename,'r')
dirt1={}for i in f:
list1=re.split('\s{2,}',i.rstrip('\n'),2,re.U)
dirt1[list1[0]]=eval(list1[1])return dirt1
# ********** End **********#defread_densities2(filename):# 请在此处填写代码# ********** Begin **********#
f=open(filename,'r')
dirt1={}for i in f:
list1=i.rstrip('\n').split()
str1=' '.join(list1[0:len(list1)-1])
dirt1[str1]=eval(list1[-1])return dirt1
# ********** End **********#deftest_densities(filename):# 请在此处填写代码# ********** Begin **********#if read_densities2(filename)==read_densities1(filename):returnTrueelse:returnFalse# ********** End **********#
结构文件解析与绘图 - 解释程序的输出
#coding=utf-8import warnings
warnings.filterwarnings("ignore")import matplotlib
matplotlib.use('Agg')import matplotlib.pyplot as plt
# 请在此处填写代码#********** Begin **********#
f =open('src/step3/insum.txt','r')
epsilon=[]
n=[]for i in f:
i=i.rstrip('\n')
epsilon.append(eval(i[9:15]))
n.append(eval(i[i.find('=')+1:len(i)]))
plt.semilogy(n, epsilon)#********** End **********#
plt.savefig('src/step3/output/result.jpg')
#coding=utf-8# 请在此处填写代码#********** Begin **********#
path ="src/step1/human_evolution.txt"
f =open(path)
humans ={}for i in f:iflen(i.split())>0and i.split()[0]=="H.":
subdic ={}
subdic ["Lived when"]=''.join(i[21:37].split())
subdic ["height"]=''.join(i[37:50].split())
subdic ["mass"]=''.join(i[50:62].split())
subdic ["Brain volume"]=''.join(i[62:].split())
humans ["homo "+''.join(i[2:20].split())]= subdic
print("Species Lived when height(m) mass(kg) Brain volume(cm**3) ")for i in humans:print("%-25s%-15s%-15s%-15s%-25s"%(i,humans[i]['Lived when'],humans[i]['height'],humans[i]['mass'],humans[i]['Brain volume']))#********** End **********#
从文件中创建嵌套字典(2)
#coding=utf-8import warnings
warnings.filterwarnings("ignore")import matplotlib
matplotlib.use('Agg')import matplotlib.pyplot as plt
from numpy import*# 请补充完善以下函数:# question 1defload_data(path):#********** Begin **********#
t ={}
f =open(path)for i in f:
t2 ={}iflen(i.split())>0and i.split()[0]!='#':
t2["C"]=eval(i[17:23])
t2["T_0"]=eval(i[23:32])
t2["mu_0"]=eval(i[32:])
t[i[:17].strip()]= t2
return t
#********** End **********## question 2defmu(T, gas, mu_data):#********** Begin **********#
u = mu_data[gas]['mu_0']
t = mu_data[gas]["T_0"]
c = mu_data[gas]['C']return u*(t-c)/(T+c)*(T/t)**1.5#********** End **********## question 3defdrawing(air, carbon_dioxide, hydrogen):
x = linspace(223,373,200)# 生成 x 轴坐标点范围[223, 373],点个数200#********** Begin **********#
plt.plot(x,air,label ='air')
plt.plot(x,carbon_dioxide,label="carbon dioxide")
plt.plot(x,hydrogen,label='hydrogen')
plt.legend()#********** End **********#
plt.savefig('src/step2/output/result.jpg')
字典数据存储 - 计算三角形面积
#coding=utf-8# 请在此处填写代码#********** Begin **********#
vertices =eval(input())# s = vertices[2][0] - vertices[1][0]# h = vertices[3][1] - vertices[1][1]
ab =pow((vertices[1][0]-vertices[2][0])**2+(vertices[1][1]-vertices[2][1])**2,0.5)
ac =pow((vertices[1][0]-vertices[3][0])**2+(vertices[1][1]-vertices[3][1])**2,0.5)
bc =pow((vertices[2][0]-vertices[3][0])**2+(vertices[2][1]-vertices[3][1])**2,0.5)
p =( ab + ac + bc)/2
s =pow(p *(p - ab)*(p - ac)*(p - bc),0.5)print("%.1f"%s)#********** End **********#
采用不同数据结构来表示多项式
#coding=utf-8
poly_list =[-0.5]+[0]*99+[2]
poly_dic ={0:-0.5,100:2}defeval_poly_dict(poly_dict, x):# ********** Begin **********#
keys =list(poly_dict.keys())
sum_dict =(keys[0]+1)* poly_dict[0]
sum_dict += poly_dict[keys[1]]*pow(x,keys[1])return sum_dict
# ********** End **********#defeval_poly_list(poly_list, x):# ********** Begin **********#
sum_list = poly_list[0]
num = poly_list.count(0)+1
sum_list +=pow(x,num)*poly_list[-1]return sum_list
# ********** End **********#
计算多项式的导数
#coding=utf-8defdiff(poly_dict):# 请在此处填写代码#********** Begin **********#
t ={}for i in poly_dict:if i !=0:
t[i-1]= i*poly_dict[i]return t
#********** End **********#
比较不同城市的平均气温
#coding=utf-8import warnings
warnings.filterwarnings("ignore")import matplotlib
matplotlib.use('Agg')import matplotlib.pyplot as plt
# 请补充完善以下函数:# question 1defload_data(path):#********** Begin **********#
t ={}
f =open(path)for i in f:if"mso-list:"in i andlen(i.split())>3:
city = i.split('>')[2].split()[0].split("<")[0]if"ftp.engr.udayton.edu"in i:
t[city]= i.split('"')[1].split('/')[-1]return t
#********** End **********## question 2defcity_temp(city,city_file):# ********** Begin **********#
fname ="src/step6/city_temp/"+ city_file[city]
f =open(fname)
t ={}for i in f:
ws = i.split()
ws =[eval(d)for d in ws]
t[(ws[2],ws[0],ws[1])]= ws[3]return t
# ********** End **********## question 3defplot_temp(city, city_file, year):# ********** Begin **********#
fname ="src/step6/city_temp/"+ city_file[city]
f =open(fname)
t =[]for i in f :
ws = i.split()
ws =[eval(d)for d in ws ]if ws[2]== year:
t .append(ws[3])
x =range(1,len(t)+1)
plt.plot(x,t)# ********** End **********#
plt.savefig('src/step6/output/result.jpg')# 保存绘制的温度图