描述
CC Bond有一个列表,记录了他和同事们的年龄,你能用for循环遍历链表的每一个元素,将其累加求得他们年龄的总和与平均数吗?
输入描述:
一行输入多个整数,以空格间隔。
输出描述:
输出年龄总和与平均数,平均数保留1位小数,两个数字以空格间隔。
示例1
输入:
22 23 24
输出:
69 23.0
答案:
num=map(int,input().split())
sum=0
count=0
for i in num:
sum+=int(i)
count+=1
avg=sum/count
print(sum,"%.1f"%avg)
常见的错误1:
list1=map(int,input().split()) #这里错误
sum=0
for i in list1:
sum=sum+i
print("%d"%sum,end=" ")
avg=0
avg=sum/len(list1)
print("%.1f"%avg)
错误原因:需要将输入的内容转换为整数列表,而不仅仅是使用 map(int, input().split())
。因此,您需要将 map
转换为列表。
常见的错误2:
list1=input().split() #错误
sum=0
for i in list1:
sum=sum+i
print("%d"%sum,end=" ")
avg=0
avg=sum/len(list1)
print("%.1f"%avg)
使用 split()
函数后,得到的是字符串列表而不是整数列表。因此,在累加求和时,您不能直接将字符串和整数相加。您需要将列表中的每个字符串转换为整数后再进行累加。即:sum += int(i) # 将字符串转换为整数后再累加