使用python实现科学记数法的书面形式输出

作者是刚入门Python的一个小白,在学习数据分析时没有找到将输入的数字变为书面形式的科学计数法的函数,所以简单写了一段转换程序,程序如下:

    import sysx = input('请输入数字:')numval = float(x)y = x.split('.')point = x.find('.')# 判断是否有小数部分,并将用户键入的数字拆分为整数部分和小数部分if point == -1:integral = y[0]                 # 整数部分——该部分为字符串integral_val = float(integral)else:integral = y[0]integral_val = float(integral)  # 将字符串化为数值decimal_int = y[1]              # 取出小数部分后,变为整数字符串decimal_val = float(decimal_int)                # 此处的decimal_val为整数值,造成了后半部分的问题# print(decimal_val)            #testing# 判断整数部分长度,int<2时直接输出x,并结束程序if len(integral) < 2 and len(integral)>=1:print(numval)sys.exit()#print(type(decimal_int))# 创建替换字符元组lower_num = ('⁰','¹','²','³','⁴','⁵','⁶','⁷','⁸','⁹')multinum = ' x 10'# 开始转换操作if numval < 1:for i in range(len(decimal_int)):                           # 查找小数里非零第一个值if decimal_int[i] != '0':# print(decimal_val)      #testingdecimal_val = numval * 10**(i+1)                   # 本行有问题————解决:if中判断条件出错,由str != int 修改为str != str#print(i)                 #testing# print(decimal_int,i,len(decimal_int),decimal_val)       #testingdecimal_int = str(decimal_val)final_x = decimal_int + multinum + 'ˉ' + lower_num[i+1]breakelse:lenth_int = len(integral)numval = numval / 10 ** (lenth_int-1)numval = str(numval)final_x = numval + multinum + lower_num[lenth_int + 1]print(final_x)

然后是程序的输出结果:

请输入数字:0.0023
2.3 x 10ˉ³
请输入数字:123456
1.23456 x 10⁶
请输入数字:123456.0023
1.234560023 x 10⁶

这个程序还有很多值得优化的地方,有些地方感觉完全可以换一种方法,但想了很久没想到,可能是基础不牢的原因。
大家感兴趣的可以看一下,如果能给我一些新的思路就更好了。o( ̄▽ ̄)o

使用python实现科学记数法的书面形式输出相关推荐

  1. Python构建lassocv模型并输出Rad-score公式

    Python构建lassocv模型并输出Rad-score公式 'signature = wavelet-HLH_glszm_GrayLevelVariance*-0.0306874009798776 ...

  2. python若干整数的最大值_实例讲解Python中整数的最大值输出

    在Python中可以存储很大的值,如下面的Python示例程序: x = 10000000000000000000000000000000000000000000; x = x + 1 print ( ...

  3. python起步输入-Python编程起步——输入与输出

    Python编程起步--输入与输出 通常,任何计算机程序都是为了执行一个特定的任务,比如:统计一个班同学的平均英语成绩,在显示器上画出一个半径为100个像素的红色圆圈,或者在视频播放器上播放一段指定的 ...

  4. python中文编码-python中文编码与json中文输出问题详解

    前言 python2.x版本的字符编码有时让人很头疼,遇到问题,网上方法可以解决错误,但对原理还是一知半解,本文主要介绍 python 中字符串处理的原理,附带解决 json 文件输出时,显示中文而非 ...

  5. python编程在哪里写程序-第一个Python程序——在屏幕上输出文本

    本节我将给大家介绍最简单.最常用的 Python 程序--在屏幕上输出一段文本,包括字符串和数字. Python 使用 print 函数在屏幕上输出一段文本,输出结束后会自动换行. 在屏幕上输出字符串 ...

  6. Python的输入指令、格式化输出、基本运算符

    Python的输入指令.格式化输出.基本运算符 Python的输入指令input name = input('Could I know your name please?') 在Python3版本下, ...

  7. Python使用中文注释和输出中文(原创)

    刚开始学习python,需要在Python中注释中文和输出中文,现在开始尝试: 仅为初步学习参考,高手请绕行. -------------------------------------------- ...

  8. Python的三种格式化输出

    今天刚学了python的三种格式化输出,以前没接触过这么有趣的输出方式,现在来分享一下. #!/user/bin/env python #coding:utf-8 #三种格式化输出 #第一种格式化输出 ...

  9. 分行打印列表python_#python版一行内容分行输出

    python版一行内容分行输出 1.[代码][Python]代码236091543 #python版一行内容分行输出 #依山居 18:14 2015/11/4 #题目来源 http://www.bat ...

最新文章

  1. 这些堪称人类史上“最强大脑”的人中,霍金居然排最后
  2. JavaScript 把字符串类型转换成日期类型
  3. AD17无法复制原理图到Word的解决方法
  4. msp430入门编程46
  5. 要想推荐系统做的好,图技术少不了
  6. python交换两个值原理_python 两数交换新写法原理
  7. Bootstrap3 表单-水平排列的表单
  8. java编程对电脑配置_java编程对电脑配置有什么要求?如何选择合适电脑?
  9. java来电报名字的软件_读短信来电报姓名最新版
  10. xlsx文件打开乱码_excel打不开xlsx文件怎么办 excel打开xlsx文件乱码怎么解决
  11. 日常计算机使用的需求和解决方案(一)
  12. 收藏几款好用的网页下载工具(网页下载器)
  13. 调焦后焦实现不同距离成像_可调焦自适应光学扫描激光眼底成像系统设计
  14. 多张图片合成一张图片
  15. 低成本3X3拼接方案
  16. 现代服务业行业税收筹划,信息技术公司节税方案
  17. 计算机面试工作计划,信息技术部面试自我介绍
  18. 河南省计算机报名流程图,报考流程
  19. iOS开发第三方大全
  20. 宽带用户接入认证方式浅析

热门文章

  1. 多张图片如何合并成一个pdf
  2. QT写word的三种方式
  3. C语言流输入和输出函数
  4. DevOps 工程师成长日记系列四:打包
  5. 论一个程序员的编程修养(你品,你细品)
  6. 发一个mir2的内挂代码
  7. Python爬取豆瓣读书Top250(正则表达式)
  8. java 四舍六入五成双_EXCEL实现四舍六入五成双修约规则的方法
  9. python对excel进行读写操作
  10. “缺钱”的女人,掩饰不住以下三个特征,别不信