题目:利用mapreduce编写一个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:相关推荐

  1. 【Python】利用map和reduce编写一个str2float函数,把字符串'123.456'转换成浮点数123.456

    微信公众号 题目来源:[廖雪峰的官方网站-map/reduce] 利用map和reduce编写一个str2float函数,把字符串'123.456'转换成浮点数123.456: from functo ...

  2. 利用map和reduce编写一个str2float函数,把字符串'123.456'转换成浮点数123.456

    想转行做程序员,最近在看廖雪峰的python教程,年龄大了看算法很费劲,之前总是囫囵吞枣,急于求快最后啥都没学到,现在重新看一遍,刚刚把课后的作业想明白,跟其他人的答案比起来我的很拙劣,但是我依然很高 ...

  3. 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 ...

  4. 编写一个程序,把您的年龄转换成天数并显示二者的值。不用考虑平年( fractional year)和闰年(leapyear)的问题

    编写一个程序,把您的年龄转换成天数并显示二者的值.不用考虑平年( fractional year)和闰年(leapyear)的问题 #include<stdio.h> int main(v ...

  5. ip地址转换数字函数 iton_字符串IP地址转换成IP数值函数

    if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[f_IP2Int]') and xtype in (N'FN ...

  6. python字符串转浮点数_Python字符串转换成浮点数函数分享

    Python字符串转换成浮点数函数分享 利用map和reduce编写一个str2float函数,把字符串'123.456'转换成浮点数123.456 from functools import red ...

  7. 3、编写一个prod()函数,可以接受一个list并利用reduce()求积

    3.编写一个prod()函数,可以接受一个list并利用reduce()求积 # -*- coding: utf-8 -*-from functools import reducedef prod(L ...

  8. JAVA编写一个函数计算1到n之和_编写一个求和函数,用以求1到n的和 ,并返回和值。_学小易找答案...

    [简答题]民宿 怎样做好个性化服务? (10.0分) [多选题]采取产品-市场集中化时,企业的目标市场( ) [单选题]So many mistakes in your homework! You m ...

  9. 编写一个求和函数sum,用于计算 1+2+…+n ,在主函数调用该函数求和。

    编写一个求和函数sum,用于计算 1+2+-+n ,在主函数调用该函数求和. 示例 输入 输出 1️⃣ 5 15 2️⃣ 7 28 3️⃣ 3 6

最新文章

  1. 在vs2008中配置OpenCV2.2
  2. Centos 7 让docker飞一会儿
  3. 12月31日写成13月1日引发重大 Bug,程序员新年就要被“祭天”?
  4. 详解/etc/profile、/etc/bash.bahsrc、~/.profile、~/.bashrc的用途
  5. java如何解析json_java 中解析json步骤
  6. 图片插值数据_结合PS用这招来增强ArcGIS插值图出图效果
  7. 深度学习工具caffe详细安装指南
  8. 卸载oracle——详细版
  9. Smartisan OS ROM 小米手机 2/2S 标准版 刷机教程
  10. 非常认真地完成现有工作,却得不到加薪待遇?
  11. [极客]每个极客都应该知道的Linux技巧 (1)
  12. [转]如何配置和使用Tomcat访问日志
  13. 火狐浏览器怎么打不开网页
  14. Python-while 计算100以内奇数和
  15. 安卓系统目录说明大全,各文件夹是什么,可以删除吗?(以MIUI为例)
  16. android power 按键,android 添加按(power键)电源键结束通话(挂断电话)
  17. ScanContext 论文详解 - 用途:Lidar SLAM 回环检测、空间描述符
  18. CentOS7常用yum仓库操作及安装
  19. 为什么pdf文件在一个计算机上能打开,拷贝到别的计算机上就打不开,显示文件已损坏?,pdf文件在电脑上打不开怎么办...
  20. 【转载】常备JS操作

热门文章

  1. 教你彻底弄清楚dpi 、 dip 、分辨率、屏幕尺寸、px、density 关系
  2. 锚杆拉拔试验弹性模量计算_锚杆抗拔试验相关规范的若干问题探讨
  3. 计算机硬件相关文献,计算机硬件维护外文外文 计算机硬件维护专著类参考文献哪里找...
  4. Linux常用命令总结(全)
  5. rv1126_rv1109移植opencv with ffmpeg for rtsp
  6. 用友开发者社区 - http://udn.yonyou.com
  7. 【Get深一度】相位差波束指向角推导-相控阵雷达原理
  8. Xcode7 模拟器无法联网问题
  9. Elastic Job Lite调度中心和Cron表达式
  10. 【UE4】视角制作相关知识点(蓝图)