鱼C论坛

 找回密码
 立即注册
12
返回列表 发新帖
楼主: 冬雪雪冬

[技术交流] Python:每日一题 183

[复制链接]
发表于 2018-7-7 01:19:33 | 显示全部楼层
网站崩了,心态爆炸
  1. def lenght (num):
  2.         num = abs(num)
  3.         if num < 10:
  4.                 return 1
  5.         else:
  6.                 return 1 + lenght (num/10)
  7. while 1:
  8.         lenght (int(input('请输入一个数:')))
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-7-7 08:35:15 | 显示全部楼层
本帖最后由 zhou995287902 于 2018-7-7 08:41 编辑
  1. count=[0]
  2. def length(number):
  3.    
  4.     count[0]+=1
  5.     number=int(number/10)
  6.     if number==0:
  7.         print(count[0])
  8.         count[0]=0
  9.     else:
  10.         length(number)
  11.         
  12.         
复制代码

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-7-7 12:50:17 | 显示全部楼层
# number of number.py
num = int(input("请输入一个数"))
count = 1
if num < 0:
    num = -num
def filter(num):
    if num >= 10:
        choose = num // 10
        num = choose
        global count
        count += 1
        filter(num)
filter(num)
print("位数为:",count)
   

点评

使用全局变量,反复调用函数时会出错  发表于 2018-7-7 21:12

评分

参与人数 1荣誉 +2 鱼币 +2 收起 理由
冬雪雪冬 + 2 + 2

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-7-7 15:01:50 | 显示全部楼层
def length1(n):
    if n<0:
        n=-n
    if n//10==0:
        return 1
    else:
        return length1(n//10)+1      
   

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-7-7 18:29:36 | 显示全部楼层
本帖最后由 bigoldli 于 2018-7-7 18:30 编辑

i = 0
def length(n):
    global i
    if n == 0:
        return 1
    else:

        length(n//10)
    i += 1
    return i

n = int(input('请输入数字:'))
if n < 0:
    n = -n

print(length(n))

点评

使用全局变量,反复调用函数时会出错  发表于 2018-7-7 21:14

评分

参与人数 1荣誉 +2 鱼币 +2 收起 理由
冬雪雪冬 + 2 + 2

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-7-8 15:41:48 | 显示全部楼层
  1. def leng(n, count = 1):
  2.     a = abs(n) // 10
  3.     return leng(a, count + 1) if a != 0 else count
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-7-12 13:37:31 | 显示全部楼层
def length(x):
    x = abs(x)
    if x//10 == 0:
        return 1
    else:
        return 1 + int(length(x//10))
print(length(101))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-7-13 23:48:12 | 显示全部楼层
我来打卡hiahia
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-7-17 14:04:07 | 显示全部楼层
  1. def length(value):
  2.     if value < 0:
  3.         value = abs(value)
  4.     ln = 1
  5.     value = value // 10
  6.     while value:
  7.         value = value // 10
  8.         ln += 1
  9.     return ln


  10. print(length(-99231234567890))
  11. print(length(1234567890))
  12. print(length(0))
  13. print(length(8))
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-7-19 22:10:26 | 显示全部楼层

  1. fun = lambda num: 1 if abs(num)<10 else 1+fun(num/10)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-10-1 09:10:37 | 显示全部楼层
本帖最后由 子沙 于 2018-10-1 09:14 编辑
  1. def length(num):
  2.     def length2(num):
  3.         nonlocal m
  4.         if abs(num)//10==0:
  5.             return m
  6.         else:
  7.             m+=1
  8.             return length2(abs(num//10))
  9.     m=1
  10.     return length2(num)
  11. print(length(234))
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-10-1 10:26:57 | 显示全部楼层
def length(num,time=0):
    num = abs(num)
    if num == 0:
        return time
    else:
        return length(num//10,time+1)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-3-7 15:15:20 | 显示全部楼层
本帖最后由 Mrboomboom 于 2019-3-7 15:23 编辑
  1. def test183(num):
  2.     if abs(num) // 10 == 0:
  3.         return 1
  4.     return test183(num // 10) + 1
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-30 16:22

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表