用Python制作计算器过程中 请问如何设定计算的最大位数为64位 如果超过位数则返回uplimit呢?
给个例子参考:
def calculate(n):
if len(str(n))>64:
return 'UPLIMIT'
else:
return len(str(n))
n = 1
for i in range(1,101):
n = n *i
print(calculate(n))
加个判断, 先用str(num)转换为字符串,然后判断字符串长度
代码如下:
num = 1234567890123456789012345678901234567890123456789012345678901234567890
if len(str(num)) > 64:
print('UPLIMIT')
举个例子
def cal(data):
if len(data) >= 64:
print("uplimit")
retrun -1
else:
data = input()
为什么都一个个转 str 再 len 。。。这样负数和浮点数是会出问题的。因为 负号 和 小数点都算在 len 里
明明可以 if abs(n) >= 1e64
abs 是取绝对值,1e64 是科学计数法的写法,表示 1 * 10的64次方
数据转成字符串,str()函数,计算长度len(),判断,搞定