Python如何判断一个数是几位数

在Python中,判断一个数是几位数可以通过几种不同的方法来实现。

• 使用数学函数:利用对数函数可以计算出数字的位数。对于正整数`n`,其位数可以通过`math.log10(n)`得到,然后向上取整再加1。

import math

def count_digits(n):

return math.floor(math.log10(n)) + 1 if n > 0 else 1

# 测试

print(count_digits(100))

# 输出: 3

• 字符串转换:将数字转换为字符串,然后计算字符串的长度。

def count_digits(n):

return len(str(abs(n)))

# 测试

print(count_digits(100)) # 输出: 3

• 循环除法:通过循环除以10来计算位数。

def count_digits(n):

count = 0

while n != 0:

n //= 10

count += 1

return count

测试

print(count_digits(100)) # 输出: 3

• 递归除法:使用递归来实现循环除法的逻辑。

def count_digits(n):

if n == 0:

return 1

else:

return 1 + count_digits(n // 10)

测试

print(count_digits(100)) # 输出: 3

相关推荐
Ticnix9 分钟前
RAG 的坑不在检索,在"对齐":pgvector 实战手记
python·agent·全栈
kyrie_sakura9 分钟前
python学习笔记14 -- FastAPI
笔记·python·学习·fastapi
春涧草茶42 分钟前
慢就是快12-2三种访问权限|getter与setter|魔法方法
开发语言·python
夜雪一千1 小时前
如何使用Python做舆情分析
人工智能·python·数据分析
Ticnix2 小时前
MCP 工具拿不到 user_id?用 contextvars 做请求级用户隔离
python·agent·mcp
gb42152872 小时前
WPS 里的 Word快速合成照片
python
databook2 小时前
Python 常用统计图表实战指南
python·数据分析·数据可视化
wang_yb2 小时前
Python 常用统计图表实战指南
python·数据分析·databook
魔镜er3 小时前
11-循环神经网络
人工智能·pytorch·python·深度学习·神经网络