将字符串中的每个数都抽取出来,然后统计所有数的个数并求和。

输入格式:

一行字符串,字符串中的数之间用1个空格或者多个空格分隔。

输出格式:

第1行:输出数的个数。
第2行:求和的结果,保留3位小数。

输入样例:

2.1234    2.1     3    4 5 6

输出样例:

6
22.223

实现

#!/usr/bin/env python3
#-*- coding:utf-8 -*-
from functools import reduce
#------------------------
#Return List object
def strSeparator(str):
    #undirected a specific separator,so it will use default mode of spliting string by space char and not including space char in result element list.  
    return str.split()
#Return Total amount
#Error Return 'error'
def totalAmount(ls):
    try:
        sum=0
        #Transforming data type in each elements
        #'lambda expression' as java's anonymous fuction is very convenient.
        ls=map(lambda x:float(x),ls)
        #Mutiple add
        sum=reduce(lambda x,y:x+y,ls)
    except:
        sum='error'
    finally:
        return sum


#------------------------
s=strSeparator(input())
#String length
print(f"{len(s)}")
#Total amount
result=totalAmount(s)
#Three object expression as Java's 'expression sytax ? true result : false result'
print(f"{('The type of inputing is error! ' if result=='error' else '{0:.3f}'.format(result))}")

输出

1 3     5
3
9.000

Q.E.D.


仰望星空,还需脚踏实地。