首页 > 编程语言 >python:包含’e’和‘-’的 str 转 float

python:包含’e’和‘-’的 str 转 float

时间:2023-03-02 21:33:09浏览次数:51  
标签:10 map python float reduce int result str print

from functools import reduce

def str2float(s):
    s = s.split('.')
    a = s[0]
    b = s[1]
    if a[0] == '-':
        a = a[1:]
        front = reduce(lambda x,y:y+x*10,map(int,a))
        a = 0
        if 'e' in b:
            print('a')
            for i in b:
                a += 1
                if i == 'e':
                    c = b[a+1:]
                    middle = reduce(lambda x,y:y+x*10,map(int,c))
                    b = b[:a-1]
                    buttom = reduce(lambda x,y:y+x*10,map(int,b))
                    result = (front + buttom / 10 ** (len(b))) / 10 ** middle
                    result = -result
                    print(result)
                    return result
        else:
            print('b')
            buttom = reduce(lambda x, y: y + x * 10, map(int, b))
            result = front + buttom / 10 ** (len(b))
            result = -result
            print(result)
            return result
    else :
        front = reduce(lambda x, y: y + x * 10, map(int, a))
        a = 0
        if 'e' in b:
            print('c')
            for i in b:
                a += 1
                if i == 'e':
                    c = b[a+1:]
                    middle = reduce(lambda x,y:y+x*10,map(int,c))
                    b = b[:a-1]
                    buttom = reduce(lambda x,y:y+x*10,map(int,b))
                    result = (front + buttom / 10 ** (len(b))) / 10 ** middle
                    print(result)
                    return result
        else:
            print('d')
            buttom = reduce(lambda x, y: y + x * 10, map(int, b))
            result = front + buttom / 10 ** (len(b))
            print(result)
            return result

  

 

 

标签:10,map,python,float,reduce,int,result,str,print
From: https://www.cnblogs.com/gooutlook/p/17173614.html

相关文章

  • 跟着廖雪峰学python 006
    ​递归函数在函数内部调用自身本身计算阶乘:deffact(n):ifn==1:return1returnn*fact(n-1)注意:使用递归函数需要防止栈溢出。在计......
  • [oeasy]python0098_个人计算机浪潮_IBM5100_微软成立_苹果II_VisCalc
    个人计算机浪潮回忆上次内容个人电脑(PC)在爱好者之间疯传人人都有一台计算机从attair-8800到apple-1个人电脑离普通人更近了如果人人都有自己的电脑谁还去用终端连......
  • python链接
    命令aliaspip='/usr/local/bin/pip3'aliaspython='/usr/local/bin/python3.9'在/etc/bash.bashrc里添加就不用每开一个bash输一次命令!但是即使在/etc/bash.bashrc......
  • 【19】Python 类型注解变量名、locals()
    1类型注解变量名后面加冒号变量名后面加冒号标明变量类型,用法:var:type=value这是Python3.5中引入的TypeAnnotation,是一种注解,用来提示变量的类型。其中var......
  • python之路 80 路飞项目、git多分支、git远程仓库、ssh方式连接远程仓库、协同开发、
    git多分支为什么要有分支可以保证,主分支的版本都是可以查看的版本我们都在开发分支开发,开发完成,合并到主分支分支操作分支查看gitbranch分支......
  • Python中的导入模块的不同方式
     1.如果需要导入的模块在同一个目录下例如下面的main.py和tool.py文件 则可以直接用import方式导入:tool.py......
  • conda创建Python虚拟环境
    1、首先在所在系统中安装Miniconda3。可以打开命令行输入conda-V检验是否安装以及当前conda的版本。kaka@KakadeMacBook-ProDownloads%conda-Vconda23.1.02、co......
  • text/event-stream
    content-type为text/event-streamwebpack热更新需要向浏览器推送信息,一般都会想到websocket,但是还有一种方式,叫做Server-SentEvents(简称SSE)。SSE是websocket的一种轻型......
  • 【python】pandas 循环输出结果
    1.dataframe-->dictimportpandasaspddf=pd.read_csv(file_path,sep=sep)#sep:间隔字符df.to_dict(orient='dict')#默认dict#{'time':{0:"-3'",1:......
  • Python爬虫:原来微博上的视频下载链接在这啊
    最近看了一下网页版的微博,觉得那上面的视频不错,想获取它上面的下载链接,于是就写了这篇博文。1.几个视频播放平台的下载链接的实现1.西瓜视频西瓜视频这个平台上面......