Marth 发表于 2018-5-22 14:01:35

我输入一个整数,怎么判断它到底有几位数呢?

我随便输入一个整数,怎么判断它有几位数

fuwaandhuluwa 发表于 2018-5-22 15:05:58

这算是数学题了吧,我的想法是:循环除10.话不多说,代码给你
def get_bit(num):
    temp = num
    count = 1
    result =temp / 10
    while result >= 1.0:
      temp = temp / 10
      result = temp / 10
      count += 1
    return count

if __name__ == '__main__':
    num = int(input('请输入整数:'))
    print("整数是"+str(get_bit(num))+"位数")

Charles未晞 发表于 2018-5-22 16:15:44

print(len(str(int(input().strip()))))
虽然画蛇添足,但应该可以表达我的意思

Ez疯 发表于 2018-5-22 16:48:14

我只给你说下思想 :

1.如果你的输入方式是字符串类型的话,直接判断从左至右第一个非"0"字符在哪里,获得从"0"字符开始到整个字符串结束的长度就可以得到输入的整数长度
2.输入方式是整数的话可以通过将整数转化为字符串,再进行如上操作.这些方法在javaSE APIString类中已经包装好了,基本不用你来写.
3.可以通过 减倍的方式,即除以10,直到结果为小数且整数位的值为0后停止,记录除10 的次数.
还有其他等........

张云啊张云 发表于 2018-5-22 16:55:52

fuwaandhuluwa 发表于 2018-5-22 15:05
这算是数学题了吧,我的想法是:循环除10.话不多说,代码给你

{:5_106:}

zhdwinter 发表于 2018-5-22 20:50:13

这个太简单了,一句话搞定
假设你的语句中有a = input()这种语句,
直接len(a)就得到整数的长度来啊

程序员的救赎 发表于 2018-5-22 21:23:01

fuwaandhuluwa 发表于 2018-5-22 15:05
这算是数学题了吧,我的想法是:循环除10.话不多说,代码给你

好像人家问的是JAVA

ABC23 发表于 2018-5-23 13:33:45

本帖最后由 ABC23 于 2018-5-23 18:33 编辑

给你个简单的。

temp = str.toString();// 把原始数字转换为字符串
int len = temp.length(); // 得到字符串的长度,与原始数字长度等价

或者就像前面讲的,用数学方法。
页: [1]
查看完整版本: 我输入一个整数,怎么判断它到底有几位数呢?