s=0
count=0
max=0
while 1:
n=input('请输入数值(直接输入回车结束)')
if n:
n=int(n)
s+=n
count+=1
if n>max:
max=n
else:
break
print(f'最大值为{max}')
print(f'平均值为{s/count}')
可以先用input获取输入,然后循环判断是否输入的是空行,如果不是空行,则把这个输入转为数字后累加到和中,同时判断最大值,如果输入的是空行则退出循环,打印最大值和平均值,代码如下:
参考链接:
https://jingyan.baidu.com/article/19020a0a2ad31f139c284234.html
sum=0 #累加数字的和
i=0 #输入的数字的个数
numStr=input("请输入数值(直接按回车退出):") #获取一个输入
while numStr!="":
num = int(numStr)
if i==0: #把输入的第一个数赋值给最大值变量,用于后面的比较计算出最大值
max = num
i=i+1 #数字个个数=1
if max<num: #如果最大值比当前输入的数小,则把当前的数赋值给最大值,以计算出最大值
max = num
sum=sum+num #把当前输入的数累加到和中
numStr=input("请输入数值(直接按回车退出):") #获取下一个输入
print("最大值为"+str(max)) #打印最大值
print("平均值为%.2f"%(sum/i)) #用和除以数字的个数求出平均值,然后打印平均值
我记得蓝桥杯有类似的题,我做过,可以在我主页搜索看看