【问题描述】 编写一个程序。该程序读取整数,直到输入为0时终止。输入终止后,报告输入的偶数个数、偶数平均值,输入的奇数个数,奇数平均值。
【输入形式】输入整数
【输出形式】偶数个数、偶数平均值(浮点数,保留两位小数),输入的奇数个数,奇数平均值(浮点数,保留两位小数)
【输入样例1】
1
2
3
0
【输出样例1】
Number of even:1;Average of even:2.00
Number of odd:2;Average of odd:2.00
【输入样例1】
1
3
0
【输出样例2】
Number of even:0;Average of even:0.00
Number of odd:2;Average of odd:2.00
根据您的提醒已经做出修改,两个样例都正确:
l = []
while True:
i = int(input())
if i == 0:
break
l.append(i)
l1 = [i for i in l if i % 2 == 0]
l2 = [i for i in l if i % 2 == 1]
a,b = 0,0
if len(l1)!=0:
a = sum(l1) / len(l1)
if len(l2)!=0:
b = sum(l2) / len(l2)
print("Number of even:{:};Average of even:{:.2f}".format(len(l1), a))
print("Number of odd:{:};Average of odd:{:.2f}".format(len(l2), b))
代码可这样写:
lst=[]
while True:
m=input()
if m=='0':
break
lst.append(int(m))
evens=[x for x in lst if x%2==0]
odds=[x for x in lst if x%2!=0]
print(f'Number of even:{len(evens)};Average of even:{sum(evens)/len(evens):.2f}')
print(
f'Number of odd:{len(odds)};Average of even:{sum(odds)/len(odds):.2f}')
运行结果:
F:\2022\pythontest>t2
1
2
3
0
Number of even:1;Average of even:2.00
Number of odd:2;Average of even:2.00
如对你有帮助,请点采纳按钮。
使用死循环,记录每次输入的值,输入为0跳出循环,然后 统计
num=int(input())
jsum=0
osum=0
jnum=0
onum=0
jav=0
oav=0
while(num):
if(num%2==0):
osum=osum+num
onum=onum+1
else:
jsum=jsum+num
jnum=jnum+1
num = int(input())
if jnum==0:
jav=0.00
else:
jav=jsum/jnum
if onum==0:
oav=0.00
else:
oav=osum/onum
print("Number of even:{};Average of even:{}".format(onum,oav))
print("Number of odd:{};Average of odd:{}".format(jnum,jav))
num=int(input())
jsum=0
osum=0
jnum=0
onum=0
while(num):
if(num%2==0):
osum=osum+num
onum=onum+1
else:
jsum=jsum+num
jnum=jnum+1
num = int(input())
print("Number of even:{};Average of even:{}".format(jnum,jsum/jnum))
print("Number of odd:{};Average of odd:{}".format(onum,osum/onum))
odd = []
even = []
while True:
num = int(input())
if num == 0:
break
if num % 2 != 0:
odd.append(num)
else:
even.append(num)
print("Number of even:{};Average of even:{:.2f}".format(len(even), (sum(even) / len(even))))
print("Number of odd:{};Average of odd:{:.2f}".format(len(odd), (sum(odd) / len(odd))))
本来看没人,一刷新这么多人
代码如下:
l = []
while True:
i = int(input())
if i == 0:
break
l.append(i)
l1 = [i for i in l if i%2==0]
l2 = [i for i in l if i%2==1]
print("Number of even:{:};Average of even:{:.2f}".format(len(l1), sum(l1)/len(l1)))
print("Number of odd:{:};Average of odd:{:.2f}".format(len(l2), sum(l2)/len(l2)))
希望点个采纳~谢谢~~
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!谢谢大家,我选了一个最能懂的答案,不好意思了😬