利用map和reduce编写一个str2float函数,把字符串'123.456'转换成浮点数123.456:
题目:利用map
和reduce
编写一个str2float
函数,把字符串'123.456'
转换成浮点数123.456
:
来源:廖雪峰Python上的练习题
思路定位小数点,分割小数部分和整数部分,使用reduce和map函数分别将字符串转换成数字,除以小数点位数在相加即可
# -*- coding: utf-8 -*-
from functools import reduce
def str2float(s):for n in range(len(s)):if s[n]=='.':count=len(s)-n-1breaks=s.split('.',1)def fn(x, y):return x * 10 + ydef char2num(s):return {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}[s]num1=reduce(fn,map(char2num,s[0]))num2=reduce(fn,map(char2num,s[1]))/(10**count)return num1+num2
测试代码(廖老师提供)
print('str2float(\'123.456\') =', str2float('123.456'))
if abs(str2float('123.456') - 123.456) < 0.00001:print('测试成功!')
else:print('测试失败!')
思考:忘记了字符串有个find函数可以用来定位,结果写了个循环来找到小数点。本段中split函数将字符串分成包含了两个段的list。使用时就是list的用法。
利用map和reduce编写一个str2float函数,把字符串'123.456'转换成浮点数123.456:相关推荐
- 【Python】利用map和reduce编写一个str2float函数,把字符串'123.456'转换成浮点数123.456
微信公众号 题目来源:[廖雪峰的官方网站-map/reduce] 利用map和reduce编写一个str2float函数,把字符串'123.456'转换成浮点数123.456: from functo ...
- 利用map和reduce编写一个str2float函数,把字符串'123.456'转换成浮点数123.456
想转行做程序员,最近在看廖雪峰的python教程,年龄大了看算法很费劲,之前总是囫囵吞枣,急于求快最后啥都没学到,现在重新看一遍,刚刚把课后的作业想明白,跟其他人的答案比起来我的很拙劣,但是我依然很高 ...
- Python:利用map和reduce编写一个str2float函数,把字符串'123.456'转换成浮点数123.456
# -*- coding: utf-8 -*- from functools import reducedef str2float(s):def fn(x, y):return x * 10 + yd ...
- 编写一个程序,把您的年龄转换成天数并显示二者的值。不用考虑平年( fractional year)和闰年(leapyear)的问题
编写一个程序,把您的年龄转换成天数并显示二者的值.不用考虑平年( fractional year)和闰年(leapyear)的问题 #include<stdio.h> int main(v ...
- ip地址转换数字函数 iton_字符串IP地址转换成IP数值函数
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[f_IP2Int]') and xtype in (N'FN ...
- python字符串转浮点数_Python字符串转换成浮点数函数分享
Python字符串转换成浮点数函数分享 利用map和reduce编写一个str2float函数,把字符串'123.456'转换成浮点数123.456 from functools import red ...
- 3、编写一个prod()函数,可以接受一个list并利用reduce()求积
3.编写一个prod()函数,可以接受一个list并利用reduce()求积 # -*- coding: utf-8 -*-from functools import reducedef prod(L ...
- JAVA编写一个函数计算1到n之和_编写一个求和函数,用以求1到n的和 ,并返回和值。_学小易找答案...
[简答题]民宿 怎样做好个性化服务? (10.0分) [多选题]采取产品-市场集中化时,企业的目标市场( ) [单选题]So many mistakes in your homework! You m ...
- 编写一个求和函数sum,用于计算 1+2+…+n ,在主函数调用该函数求和。
编写一个求和函数sum,用于计算 1+2+-+n ,在主函数调用该函数求和. 示例 输入 输出 1️⃣ 5 15 2️⃣ 7 28 3️⃣ 3 6
最新文章
- 在vs2008中配置OpenCV2.2
- Centos 7 让docker飞一会儿
- 12月31日写成13月1日引发重大 Bug,程序员新年就要被“祭天”?
- 详解/etc/profile、/etc/bash.bahsrc、~/.profile、~/.bashrc的用途
- java如何解析json_java 中解析json步骤
- 图片插值数据_结合PS用这招来增强ArcGIS插值图出图效果
- 深度学习工具caffe详细安装指南
- 卸载oracle——详细版
- Smartisan OS ROM 小米手机 2/2S 标准版 刷机教程
- 非常认真地完成现有工作,却得不到加薪待遇?
- [极客]每个极客都应该知道的Linux技巧 (1)
- [转]如何配置和使用Tomcat访问日志
- 火狐浏览器怎么打不开网页
- Python-while 计算100以内奇数和
- 安卓系统目录说明大全,各文件夹是什么,可以删除吗?(以MIUI为例)
- android power 按键,android 添加按(power键)电源键结束通话(挂断电话)
- ScanContext 论文详解 - 用途:Lidar SLAM 回环检测、空间描述符
- CentOS7常用yum仓库操作及安装
- 为什么pdf文件在一个计算机上能打开,拷贝到别的计算机上就打不开,显示文件已损坏?,pdf文件在电脑上打不开怎么办...
- 【转载】常备JS操作
热门文章
- 教你彻底弄清楚dpi 、 dip 、分辨率、屏幕尺寸、px、density 关系
- 锚杆拉拔试验弹性模量计算_锚杆抗拔试验相关规范的若干问题探讨
- 计算机硬件相关文献,计算机硬件维护外文外文 计算机硬件维护专著类参考文献哪里找...
- Linux常用命令总结(全)
- rv1126_rv1109移植opencv with ffmpeg for rtsp
- 用友开发者社区 - http://udn.yonyou.com
- 【Get深一度】相位差波束指向角推导-相控阵雷达原理
- Xcode7 模拟器无法联网问题
- Elastic Job Lite调度中心和Cron表达式
- 【UE4】视角制作相关知识点(蓝图)