简介
用三位分节法转换数字 数字三位分节法是表示一个数字时,以三个数字为一段,用逗号隔开显示的方法。
主要是专业金融人士用,如股票投资人、基金经理等。本程序功能:将给定的数字转为三位分节法的格式。
方法一:字符串切片法
1 思路
-
找到小数点的位置 -
左边整数,每三位加一个逗号,形成新字符串 -
加上小数点和右边的两位数
2 源代码
# 输入数字
a = input(">>:")
# 用小数点进行分隔,
# 分隔后格式为列表
# 如["987654321","10"]
b = a.split(".")
# 确定左右两边的数字-------
# 统计列表有几个元素
n = len(b)
# 超过三个元素,则是输入有误
if n>2:
print("输入的数字有错误!")
else:
#n为1说明只有整数
#整数为列表的0位,
#小数部分为0
if n==1:
left = b[0]
right = "00"
else:
left,right = b
# 处理==================
# 左边的整数加逗号
z1 = "" #新字符串
n0 = 1
# 从数字的右边向左加入z1
for i in range(len(zuo)-1,-1,-1):
z1 += left[i]
#每到第三位,加一个逗号
if n0%3==0:
z1 += ","
n0 += 1
# 处理左边整数----------
# 反序
z1 = z1[::-1]
# 如果开头是逗号,就不要
if z1[0]==",":
z1 = z1[1:]
#完成----------
z1 = z1 + "." + right
print(z1)
.
方法二:列表提取法
1 思路
-
前部分的输入和整数小数的处理与上面一样 -
整数部分从后向前,每次取三个数,加到列表中
如[“1″,987″,”654″,”321”] -
最后将列表中的各元素用逗号连接
2 源代码
#建立新的列表
res = []
#无限循环
while True:
#如果整数个数大于3
if len(left) > 3:
str1 = left[-3:]
#改整数:从头到倒数第3位
left = left[0:len(left)-3]
#将str1插入到列表的开头
res.insert(0,str1)
else:
res.insert(0,left)
break
# 用逗号将列表中元素组合,再加小数加上
result = ','.join(res) + right
写在最后的最重要的,程序不是看会的,如果你看不太明白,请做一下,做不出来,就复制粘贴,调试看过程,请别只用眼睛,你不是不知道手有多“笨”。
本文结束
如有疑问,请直接留言!必回!
如有帮助,请点赞转发!感谢!
关注Python入门速学,
带你实战快速学Python
原文始发于微信公众号(Python入门速学):python字符串列表练习:数字转三位分节法格式
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/236363.html