python - 从python中的句子中提取数字并对其进行计算
问题描述
我是 Python 新手,但这是个问题
给定一个字符串,编写一个程序返回字符串中出现的数字的总和和平均值,忽略所有其他字符。
输入
输入将是包含字符串的单行。
输出
输出应包含字符串中出现的数字的总和和平均值。注:将平均值四舍五入到小数点后两位。
解释
例如,如果给定的字符串是“我 25 岁零 10 个月大”,则数字为 25、10。您的代码应打印新的数字的总和 (35) 和数字的平均值 (17.5)线。
测试用例
输入
我今年 25 岁零 10 个月
输出
35 17.5
上面的测试用例非常简单明了,当你试图解决这样的问题时,我的问题就来了。
输入
一个女孩64 35spaces numb6rs
输出
205 66.66
所以基本上我要问的是,你如何提取字符串之间存在的数字。使 (164) 不会变成 (1,6,4)
解决方案
import re
input_str = "I am 25 years and 10 months old"
num_str = re.findall('[0-9]+',input_str)
if len (num_str) > 0:
list_str = [int(n) for n in num_str]
print (sum(list_str),round(sum(list_str)/len(list_str),2))
else:
print (0,0)
推荐阅读
- java - Vaadin 锚点 - 捕获默认点击事件
- python - 如何将我给定的字典在 python 中保存到 sqlite 以及如何为它创建表,因为我面临为字典创建表的问题
- oauth - 我应该两次验证 JWT(在 API 网关和服务本身中)吗?
- python - python选择嵌套字典值
- android-studio - 如何将 navigationRailView 与 Navigation 库一起使用?(有标准的片段切换,所有图标的显示)
- database - SQLite freelist:链表是从文件末尾到开头。为什么?
- mysql - SQL,我怎样才能得到一个与给定用户有最常见朋友的用户?
- python - 如果语句答案不断循环
- exception - 为问题抛出自定义异常
- html - 为什么 chrome 开发者工具显示“一个”下划线?