血压的正常范围是 60mmHg<舒张压<90mmHg 90mmHg<收缩压<140mmHg 输入小张测量血压的日期,舒张压和收缩压,存放到列表xy中 将小张血压不正常次数百分比计算并显示出来 将小张血压不正常的日期,舒张压和收缩压显示出来 例如输入 2020-1-1,80,100 2020-1-2,90,120 2020-1-3,100,150 2020-1-4,90,120 2020-1-5,60,120 2020-1-6,90,140 2020-1-10,80,100 2020-1-11,70,100 2020-1-12,90,120 end 显示 不正常次数百分比66.67 日期2020-1-2舒张压90收缩压120 日期2020-1-3舒张压100收缩压150 日期2020-1-4舒张压90收缩压120 日期2020-1-5舒张压60收缩压120 日期2020-1-6舒张压90收缩压140 日期2020-1-12舒张压90收缩压120
开始你的任务吧,祝你成功!
xy=[]
str1=input("")
while(str1!="end"):
xyxm=str1.split(",")
xy.append([xyxm[0],eval(xyxm[1]),eval(xyxm[2])])
str1=input("")
#代码开始
s=0
bzc=[]
for n in range(len(xy)):
if xy[n][1]>=90 or xy[n][1]<=60 or xy[n][2]>=140 or xy[n][2]<=90:
s+=1
bzc.append(xy[n])
bfb=s/len(xy)*100
#代码结束
print("不正常次数百分比{:.2f}".format(bfb))
for x in bzc:
print("日期{}舒张压{}收缩压{}".format(x[0],x[1],x[2]))
本关任务:编写一个能查找中心点的小程序
输入若干个逗号分隔的各点的横纵坐标(例如2,3),直到输入end为止。 计算出各点与其余各点的距离之和,并找出中心点(即该点到其他各个点的距离之和最小的点) 显示中心点的序号、坐标和与各点的距离之和 根据提示,在右侧编辑器补充代码,计算并输出中心点。
平台会对你编写的代码进行测试: 测试输入:`
1,1
2,3
4,5
7,8
10,12
20,50
预期输出: 最小值为第3点坐标为(4,5)距离之和为69.05
测试输入:
3,3
3,4
5,9
11,12
23,3
45,6
7,74
68,10
11,12
20,9
end
预期输出: 最小值为第4点坐标为(11,12)距离之和为208.24
相关资料 教学课件 相关视频 更多实训
开始你的任务吧,祝你成功!
zb=[]
z=input()
jl=[]
while(z!="end"):
x,y=z.split(',')
zb.append([eval(x),eval(y)])
z=input()
#代码开始
s=0
mgjl=0
zjl=0
for a in range(len(zb)):
s=0
mgjl=0
zjl=0
while s<=len(zb)-1:
mgjl=((zb[a][0]-zb[s][0])**2+(zb[a][1]-zb[s][1])**2)**0.5
zjl+=mgjl
s+=1
jl.append(zjl)
zxz=min(jl)
i=jl.index(zxz)
#代码结束
print("最小值为第{}点坐标为({},{})距离之和为{:.2f}".format(i+1,zb[i][0],zb[i][1],zxz))
本关任务:编写一个计算歌手实际得分的小程序。 十位评委对六位歌手打分,六位歌手的得分数据如fs列表所示
fs=[[‘zhang’,9.5,9.8,9.7,9.6,9.5,9.9,9.6,9.2,9.3,9.7],
[‘huang’,8.5,8.8,7.7,7.6,8.5,8.3,9.1,7.8,7.5,9.3],
[‘liu’,9.5,8.8,7.2,9.6,8.5,6.5,6.3,7,6.9,9],
[‘chen’,9.5,9.8,8.7,8.6,7.5,8.8,8.1,9.3,9.2,9.9],
[‘lin’,9.9,7.8,7.5,7.2,6.5,9.1,9.2,9.3,8.5,8.2],
[‘ye’,9.8,6.8,6.2,9.3,7.5,8.3,9.1,9.4,8.7,8.9]]
计算每位歌手的实际得分,即去掉一个最高分、一个最低分的平均分,按从高到低的顺序,输出前3名的名次、姓名和实际得分(保留两位小数) 格式为,第1名姓名zhang分数9.59
为了完成本关任务,你需要掌握:1.列表的函数,2.如何排序二维列表。
通过下列函数可以对元组、列表、集合等求统计数据
sum 求和 len 求个数 max 求最大值 min 求最小值
当二维列表s需要按指定列(第二列)的顺序排序时 s.sort(key=lambda x:x[1])
lambda是一个匿名函数,是固定写法; x表示匿名函数的输入,即列表中的一个元素,在这里,表示一个元组,x只是临时起的一个名字,你可以使用任意的名字; x[1]表示匿名函数的输出,即元组里的第二个元素
相关 资料 教学课件 相关视频 更多实训
开始你的任务吧,祝你成功!
fs=[['zhang',9.5,9.8,9.7,9.6,9.5,9.9,9.6,9.2,9.3,9.7],
['huang',8.5,8.8,7.7,7.6,8.5,8.3,9.1,7.8,7.5,9.3],
['liu',9.5,8.8,7.2,9.6,8.5,6.5,6.3,7,6.9,9],
['chen',9.5,9.8,8.7,8.6,7.5,8.8,8.1,9.3,9.2,9.9],
['lin',9.9,7.8,7.5,7.2,6.5,9.1,9.2,9.3,8.5,8.2],
['ye',9.8,6.8,6.2,9.3,7.5,8.3,9.1,9.4,8.7,8.9]]
for i in range(len(fs)):
zdz=0
zxz=10
zf=0
pjf=0
for j in range(1,11):
if fs[i][j]>=zdz:
zdz=fs[i][j]
if fs[i][j]<=zxz:
zxz=fs[i][j]
zf+=fs[i][j]
dxh=fs[i].index(zdz)
xxh=fs[i].index(zxz)
fs[i].pop(dxh)
fs[i].pop(xxh)
zf=zf-zdz-zxz
pjf=zf/8
fs[i].append(pjf)
fs.sort(key=lambda x:x[9],reverse=True)
for l in range(3):
print("第{}名姓名{}分数{:.2f}".format(l+1,fs[l][0],fs[l][9]))
本关任务:编写一个根据《工资文件.csv》计算每位员工的工资的小程序。 工资文件.csv如下图所示,姓名,底薪,正常工时和加班工时 每位员工的工资为底薪与正常工时薪金、加班工时薪金之和。 正常工时每小时30元,加班工时每小时60元 然后将所有员工的工资按降序排列,显示姓名和工资
为了完成本关任务,你需要掌握:1.split分隔字符为列表 2.如何排序二维列表
split通过指定分隔符对字符串进行切片,形成一个列表 str.split(str="", num=string.count(str)) str -- 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。 例如
x="12,mary,90,80,70"
y=x.split(",")
y
['12','mary','90','80','70']
当二维列表按第i+1列的顺序排列
lb.sort(key=lambda x:x[i],reverse)
reverse默认为False 升序排列
指定reverse=True 降序排列
平台会对你编写的代码进行测试:
相关资料 教学课件 相关视频 更多实训
只为成功找方法,不为失败找借口。 开始你的任务吧,祝你成功!
f1=open("sy8//工资情况.csv","r",encoding="utf-8")
jg=[]
#代码开始
f1.seek(0)
for line in f1:
b=line.strip().split(",")
xj=eval(b[1])+eval(b[2])*30+eval(b[3])*60
jg.append([b[0],xj,eval(b[1]),eval(b[2]),eval(b[3])])
jg.sort(key=lambda x:x[1],reverse=True)
#代码结束
for y in jg:
print("姓名{:8}\t工资{}".format(y[0],y[1]))
本关任务: 有一个3行3列的列表xlit,每个元素都为整数 编写程序,生成一个3行3列的列表ylist,若xlist的值大于其所有元素的平均值,则ylist该位置上的值为1,否则为0 例如 xlist为 8 8 8 72 73 15 90 71 1 则ylist为 0 0 0 1 1 0 1 1 0
相关资料 教学课件 相关视频 更多实训
开始你的任务吧,祝你成功!
xlist=[]
for i in range(3):
xlist.append([])
for j in range(3):
x=eval(input(""))
xlist[i].append(x)
#代码开始
s=0
for i in range(3):
s+=xlist[i][0]+xlist[i][0]+xlist[i][0]
ave=s/9
ylist=[]
for i in range(3):
a=0
b=0
c=0
if xlist[i][0]>=ave:
a=1
if xlist[i][1]>=ave:
b=1
if xlist[i][2]>=ave:
c=1
ylist.append([a,b,c])
#代码结束
for i in range(3):
for j in range(3):
print(ylist[i][j],end="")
print()
pd.csv文件中每行存储逗号分隔的的用户名和密码
用户输入要增加的用户名和密码 若用户已存在,显示用户已存在 若用户不存在,将该用户名和密码追加在文件最后 并按以下格式显示所有用户名和密码 用户名mary 密码123456
相关资料 教学课件 相关视频 更多实训
开始你的任务吧,祝你成功!
f1=open("sy8\\pd.csv","r")
yhm=input("用户名")
mm=input("密码")
#代码开始
lb=[]
f1.seek(0)
for line in f1:
a=line.strip().split(",")
lb.append([a[0],a[1]])
flag=0
libsub=[yhm,mm]
for n in range(len(lb)):
if libsub==lb[n]:
print("用户已存在")
flag=1
if flag==0:
lb.append(libsub)
with open("sy8\\pd.csv", "w+", encoding="utf-8") as fw:
for row in lb:
fw.write(",".join(row)+"\n")
#代码结束
f2=open("sy8\\pd.csv","r")
for line in f2:
yh=line.strip("\n").split(",")
print("用户名{}密码{}".format(yh[0],yh[1]))
f2.close()
pd文件中每行存储逗号分隔的用户名和密码
输入用户名,若用户不存在,显示该用户不存在。 若用户存在,则删除文件中该用户信息(需要重新将内容写入文件),并按下列格式显示文件信息 用户名harry 密码 888888
相关资料 教学课件 相关视频 更多实训
开始你的任务吧,祝你成功!
f1=open("sy8\\pd.csv","r")
yhm=input("用户名")
#代码开始
lb=[]
f1.seek(0)
for line in f1:
a=line.strip().split(",")
lb.append([a[0],a[1]])
flag=-1
for n in range(len(lb)):
if yhm==lb[n][0]:
flag=n
if flag==-1:
print("该用户不存在")
else:
lb.pop(flag)
with open("sy8\\pd.csv", "w+", encoding="utf-8") as fw:
for row in lb:
fw.write(",".join(row)+"\n")
#代码结束
f2=open("sy8\\pd.csv","r")
for line in f2:
yh=line.strip("\n").split(",")
print("用户名{}密码{}".format(yh[0],yh[1]))
f2.close()
pd文件中每行存储逗号分隔的用户名和密码
输入用户名,若用户不存在,显示该用户不存在。 若用户存在,则删除文件中该用户信息(需要重新将内容写入文件),并按下列格式显示文件信息 用户名harry 密码 888888
相关资料 教学课件 相关视频 更多实训
开始你的任务吧,祝你成功!
f1=open("sy8\\pd.csv","r")
yhm=input("用户名")
#代码开始
lb=[]
f1.seek(0)
for line in f1:
a=line.strip().split(",")
lb.append([a[0],a[1]])
flag=-1
for n in range(len(lb)):
if yhm==lb[n][0]:
flag=n
if flag==-1:
print("该用户不存在")
else:
lb.pop(flag)
with open("sy8\\pd.csv", "w+", encoding="utf-8") as fw:
for row in lb:
fw.write(",".join(row)+"\n")
#代码结束
f2=open("sy8\\pd.csv","r")
for line in f2:
yh=line.strip("\n").split(",")
print("用户名{}密码{}".format(yh[0],yh[1]))
f2.close()
pd文件中每行存储逗号分隔的用户名和密码
首先用户输入用户名和密码, 若用户名或密码错误,显示用户名或密码错误。 若用户名和密码正确,输入两次新密码,若两次新密码不一致,显示两次密码不一致。若两次密码一致,可将pd文件中相应的密码修改。
相关资料 教学课件 相关视频 更多实训
开始你的任务吧,祝你成功!
f1=open("sy8\\pd.csv","r")
yhm=input("用户名")
mm=input("密码")
#代码开始
lb=[]
lbsub=[yhm,mm]
f1.seek(0)
for line in f1:
a=line.strip().split(",")
lb.append([a[0],a[1]])
flag=-1
for n in range(len(lb)):
if yhm==lb[n][0] and mm==lb[n][1] :
flag=n
mm1=input("新密码")
mm2=input("新密码")
if mm1!=mm2:
print("两次密码不一致")
flag==-2
else:
lb[n][1]=mm1
flag==-2
if flag==-1:
print("用户名或密码错误")
with open("sy8\\pd.csv", "w+", encoding="utf-8") as fw:
for row in lb:
fw.write(",".join(row)+"\n")
#代码结束
f2=open("sy8\\pd.csv","r")
for line in f2:
yh=line.strip("\n").split(",")
print("用户名{}密码{}".format(yh[0],yh[1]))
f2.close()