7-1 谁的年龄大
班上的学生站成一排,现在让你找出班里最大的年龄,同时算出比平均年龄大多少。你能做到吗?试试看吧!
输入格式:
输入若干学生年龄,以负数作为结束
输出格式:
输出这几个学生的最大年龄,并计算出超出平均年龄(取整数)多少岁
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 写法一:
st_age = []
while True:
temp_age = float(input())
if temp_age <= 0:
break
st_age.append(temp_age)
av_age = float(sum(st_age[0:])) // float(len(st_age))
t = 0.0
for x in range(len(st_age)):
for i in range(len(st_age)-1):
if st_age[i] > st_age[i+1]:
t = st_age[i]
st_age[i+1] = st_age[i]
st_age[i+1] = t
print("最大年龄是:%.0f,超出平均年龄%d岁" % (st_age[-1], st_age[-1]-av_age), end='')
1
2
3
4
5
6
7
8
9
10
# 写法二
st_age = []
while True:
temp_age = float(input())
if temp_age <= 0:
break
st_age.append(temp_age)
av_age = float(sum(st_age[0:])) // float(len(st_age))
max_age = max(st_age)
print("最大年龄是:%.0f,超出平均年龄%.0f岁" % (max_age, float(max_age-av_age)), end='')
1
2
3
4
5
6
7
8
9
st_age = []
while True:
temp_age = int(input())
if temp_age <= 0:
break
st_age.append(temp_age)
av_age = sum(st_age[0:]) // len(st_age)
max_age = max(st_age)
print("最大年龄是:%d,超出平均年龄%d岁" % (max_age,max_age-av_age), end='')
7-2 输出队形
输出一个m行n列的队形,每个位置的数字为e。
输入格式:
m n e
输出格式:
输出队形数字,每个数字后面有一个空格
1
2
3
4
5
6
7
8
zfx = []
for i in range(0,3):
zfx.append(eval(input()))
for hang in range(0,zfx[0]):
for lie in range(0,zfx[1]):
print("%d"%(zfx[2]),end=' ')
print()
7-3 奖金计算,循环与多分支(高教社,《Python编程基础及应用》习题6-5)
企业发放的奖金根据利润提成。利润低于或等于100,000元的,奖金可提10%;利润高于100,000元,低于200,000(100,000 < p <=200,000)时,100,000元及以内部分按10%提成,高于100,000元的部分,可提成7.5%; 200,000 < p <= 400,000时,200,000元及其以内的部分仍按上述办法提成(下同),高于200,000元的部分按5%提成; 400,000 < p <=600,000元时,高于400,000元的部分按3%提成; 600,000 < p <=1,000,000时,高于600,000元的部分按1.5%提成; p >1,000,000时,超过1,000,000元的部分按1%提成。 按上述需求,编写一个程序,该程序从键盘输入当月利润p,求应发奖金数。
输入格式:
利润总额(浮点数)
输出格式:
奖金数(保留两位小数)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
p = float(input())
bonus = 0.0
if p<=100000:
bonus = p * 0.1
elif 100000 < p <=200000:
bonus = 100000 * 0.1 + (p-100000) * 0.075
elif 200000 < p <= 400000:
bonus = 100000 * 0.1 + 100000 * 0.075 + (p-200000)*0.05
elif 400000 < p <=600000:
bonus = 100000 * 0.1 + 100000 * 0.075 + 200000*0.05 + (p-400000)*0.03
elif 600000 < p <=1000000:
bonus = 100000 * 0.1 + 100000 * 0.075 + 200000*0.05 + 200000*0.03 + (p-600000)*0.015
elif p >1000000:
bonus = 100000 * 0.1 + 100000 * 0.075 + 200000*0.05 + 200000*0.03 + 400000*0.015 + (p-1000000)*0.01
print("%.2f"%bonus,end='')