gpt4 book ai didi

python - Python中计算数字最后一位数字的顺序

转载 作者:行者123 更新时间:2023-12-01 00:24:06 25 4
gpt4 key购买 nike

大家好,我正在尝试用Python编写一个程序,告诉我一个数字最后一位数字的顺序:例如,如果数字是230,那么答案是1,对于0.104,它是0.001,对于1.0,它是0.1,依此类推...我试图写一些东西,但它对 float 做了奇怪的事情:对于不以 0 结尾的数字来说,它大约是正确的,而对于以 0 结尾的数字来说,它是错误的。这就是我写的:

def digit(x):
if (x-int(x))==0:
return 1
else:
return 0.1*digit(x*10)

感谢任何愿意回答的人。

最佳答案

您可以使用decimal.Decimal获取小数位数,并计算最后一位的顺序为1e^xx可以通过exponent属性获得由 decimal.Decimal.as_tuple() 返回的命名元组:

import decimal

def order_last_digit(d):
dec = decimal.Decimal(str(d))
return 10**dec.as_tuple().exponent
<小时/>
order_last_digit(230) #10^0=1
# 1

order_last_digit(0.104) #10^-3
# 0.001

order_last_digit(1.0)
# 0.1

关于python - Python中计算数字最后一位数字的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58734394/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com