判定一个正整数的位数
需求可以在input输入一个运算符形式的数,如:输入2**10-1输出1023(结果)和4(位数)
目前没有找到相符的代码,希望提供一些思路,谢谢
x=eval(input())
print(x, len(str(x)))
如果有用,望采纳,谢谢!
该回答引用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)