Python判断一个数的位数

问题遇到的现象和发生背景

判定一个正整数的位数

遇到的现象和发生背景,请写出第一个错误信息

需求可以在input输入一个运算符形式的数,如:输入2**10-1输出1023(结果)和4(位数)

用代码块功能插入代码,请勿粘贴截图。 不用代码块回答率下降 50%
运行结果及详细报错内容
我的解答思路和尝试过的方法,不写自己思路的,回答率下降 60%

目前没有找到相符的代码,希望提供一些思路,谢谢

我想要达到的结果,如果你需要快速回答,请尝试 “付费悬赏”
x=eval(input())
print(x, len(str(x)))

img

如果有用,望采纳,谢谢!

该回答引用ChatGPT,如果有帮助到您请点个采纳
可以使用python的eval()函数,它可以将字符串形式的数学表达式计算并返回结果。
接下来,需要将计算结果转换为字符串,使用str()函数。然后,可以使用len()函数计算字符串长度,即为位数

def get_result_and_length(expr):
    result = eval(expr)
    result_str = str(result)
    length = len(result_str)
    return result, length

expr = input("请输入一个运算符形式的数:")
result, length = get_result_and_length(expr)
print("结果为:", result)
print("位数为:", length)