python基础案例-分支循环
这里是python基础的作业,分支循环部分,会提供两个案例
案例一
1.问题描述:循环输入多个成绩值,当输入空行时结束输入,输出成绩平均值。运行结果如图:
2.代码
def getNum(): #获取用户输入的不确定数据
nums = []
i = input("请输入成绩:")
while i != '':
nums.append(eval(i))
i = input("请输入成绩:")
return nums
def avrage(nums): #平均数
sum = 0
for item in nums:
sum += item
return sum/(len(nums))
n = getNum()
print(n)
m = avrage(n)
print("平均成绩为:",m)
3.运行结果
案例二
1.问题描述:
体操比赛中,评委会给参赛选手打分。选手得分规则为去掉一个最高分和一个最低分,然后计算平均得分,请编程输出某选手的得分。
输入格式:
第1行包含一个整数n (2<n<100),表示评委的人数, 第2行包含n个整数,表示n个评委的打分。每个整数之间用空格分隔。
2.代码
n = int(input("请输入评委个数:")) #读入n个评委
judge=1
my_list = []
for i in input("请输入各评委分数:").split(): #首先执行input(),再执行split(),然后执行for循环
my_list.append(int(i))
s=len(my_list)#看输入多少个分数
if(s>n):
print("你的成绩就输入个数大于评委个数")
judge=0
if(s<n):
print("你的成绩输入个数小于评委个数")
judge=0
#去掉最大和最小值,求平均
def my_avg(list):
if len(list)==0:
return 0
if len(list)<=2:
avg_data = float(sum(list))/len(list)
return avg_data
elif len(list)>2:
list.remove(min(list))
list.remove(max(list))
avg_data = float(sum(list))/len(list)
return avg_data
if(judge==1):
average = my_avg(my_list)
print(my_list)
print("评委平均分是:",average)
3.运行结果