1.python组合数据
十位评委对六位歌手打分,六位歌手的得分数据如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
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 a in range(3):
m0=0
for i in fs:
l=i[:]
name=l.pop(0)
l.sort()
del l[0]
del l[-1]
m=sum(l)/len(l)
if m0<m:
n0=name
m0=m
print('第{:.0f}名姓名'.format(a+1),end='')
print(n0,end='')
print('分数{:.2f}'.format(m0))
for i in range(len(fs)-1):
if fs[i][0]==n0:
del fs[i]
2.SBN校验码
国际标准书号(ISBN)用10位数字唯一标识的一本书。 最后一位数字为校验位,可以由其他9位数字计算出来,且d1+2d2+3d3+……+10d10必须是11的倍数(di的下标表示从右边起第i个数)。 校验位必须是介于0到10中的一个数字,用字母X表示10.例如,020131452的校验和是5,因为对于以下11的倍数的公式,5是唯一的介于0-10之间的数, 10*0+9*2+8*0+7*1+6*3+5*1+4*4+3*5+2*2+1*5 编写一个python程序,将9位整数作为输入,计算校验和并打印isbn号 例如,输入020131452,输出0201314525
方法一:
l=list(x)
for i in range(11):
if (10*eval(l[0])+9*eval(l[1])+8*eval(l[2])+7*eval(l[3])+6*eval(l[4])+5*eval(l[5])+4*eval(l[6])+3*eval(l[7])+2*eval(l[8])+1*i)%11==0:
n=str(i)
if n=='10':
n='X'
print(x+n)
方法二:
n=10
m=[]
b=[]
for i in x:
i=int(i)
a=i*n
n=n-1
m.append(a)
for i in range(11):
s=(sum(m)+i)%11
if s==0:
i=str(i)
break
if i =='10':
print(s+'x')
else:
print(x+str(i))
x=input("")
3.python循环数列
输入n,计算下列数列和
例如,输入5,输出22.09(平方根使用sqrt函数)
import math
n=eval(input())
s=0
zh=0
a=[]
#开始
for i in range(1,n+1):
for j in range(i+1):
j=math.sqrt(j)
a.append(j)
s=sum(a)
#结束
print("{:.2f}".format(s))
4.小时工工资计算
某公司按小时计费工资。规定每周5个工作日,每天工作8小时。工作日超时工作工资为正常工资的1.5倍。休息日工资,4小时内为正常工资的2倍,超过4小时为正常工资的3倍。 输入每小时工资,员工每周的工作日工作小时数和休息日工作小时数,计算其该周工资 例如每小时工资30元。工作日50小时,休息日8小时,其工资为2250.00元
z=eval(input("工资标准"))
g=eval(input("工作日工作时间"))
x=eval(input("休息日工作时间"))
#代码开始
if g<40:
q=z*g
elif g>40:
q=(g-40)*1.5*z+40*z
if x>4:
a=4*2*z+(x-4)*3*z
elif x<=4:
a=x*2*z
w=q+a
#代码结束
print("工资{:.2f}".format(w))
5.python语言表达式抛物运动垂直方向位移
抛物运动垂直方向的位移公式
输入速度v 角度a 和时间t(g取9.8 ) 计算y(保留两位小数) 例如输入 100 60 10 输出376.03
?
from math import *
v=eval(input())
a=eval(input())
t=eval(input())
#开始
y=v*sin(radians(a))*t-9.8*t*t/2
#结束
print("{:.2f}".format(y))
|