鱼C论坛

 找回密码
 立即注册
楼主: zltzlt

[技术交流] Python:每日一题 251(答题有奖)

[复制链接]
 楼主| 发表于 2019-10-3 17:58:02 | 显示全部楼层

恭喜通过!

执行用时:44 ms
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-3 18:13:20 | 显示全部楼层
def kao(num):
    return num if num<10 else( num%9 if num%9>0 else 9)
print(kao(0))
print(kao(9))
print(kao(18))
print(kao(38))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-3 18:28:36 | 显示全部楼层
  1. def num(x):
  2.     reslut = 0
  3.     reslut2 = 0
  4.     ok = True
  5.     if int(x) > 9:
  6.         for each in str(x):
  7.             print("each:", each)
  8.             reslut += int(each)
  9.         if reslut < 10:
  10.             ok = False
  11.         while ok:
  12.             for each in str(reslut):
  13.                 print("each:", each)
  14.                 reslut2 += int(each)
  15.             if reslut2 < 10:
  16.                 ok = False
  17.                 return reslut2
  18.     else:
  19.         return x
  20.     return reslut

  21. user = num(input("輸入一個正整數:"))
  22. print(user)
复制代码

评分

参与人数 1荣誉 +1 收起 理由
zltzlt + 1

查看全部评分

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

使用道具 举报

 楼主| 发表于 2019-10-3 18:30:15 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-3 18:54:07 | 显示全部楼层
  1. def num(x):
  2.     reslut = 0
  3.     if int(x) > 9:
  4.         for each in str(x):
  5.             reslut += int(each)
  6.     else:
  7.         return x
  8.     return num(reslut)

  9. user = input("請輸入一個正整數:")

  10. user = num(user)
  11. print(user)
复制代码

评分

参与人数 1贡献 +1 收起 理由
zltzlt + 1

查看全部评分

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

使用道具 举报

 楼主| 发表于 2019-10-3 18:55:53 | 显示全部楼层

恭喜通过!

执行用时:48 ms
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-3 19:39:35 | 显示全部楼层
  1. def func(num):
  2.         while num>=10:
  3.                 num=sum((int(i) for i in str(num)))
  4.         return num
复制代码

评分

参与人数 1荣誉 +2 贡献 +2 收起 理由
zltzlt + 2 + 2

查看全部评分

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

使用道具 举报

 楼主| 发表于 2019-10-3 19:40:24 | 显示全部楼层

恭喜通过!

执行用时:44 ms
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-3 20:13:02 | 显示全部楼层
def solution(nums: int):
    while nums>=10:
        tmp = 0
        for i in str(nums):
            tmp += int(i)
        nums = tmp
    return nums

评分

参与人数 1荣誉 +2 贡献 +2 收起 理由
zltzlt + 2 + 2

查看全部评分

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

使用道具 举报

发表于 2019-10-3 21:25:29 | 显示全部楼层
本帖最后由 panheng 于 2019-10-3 21:27 编辑
  1. def answer(num: int):
  2.     if 0 <= num < 10:
  3.         return num
  4.     else:
  5.         num = sum([int(i) for i in str(num)])
  6.         return answer(num)
复制代码

评分

参与人数 1荣誉 +1 鱼币 +1 贡献 +1 收起 理由
zltzlt + 1 + 1 + 1

查看全部评分

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

使用道具 举报

发表于 2019-10-3 23:40:35 | 显示全部楼层
  1. def addDigits(num) :
  2.     def add(num):
  3.         return sum([int(i) for i in str(num)])
  4.         
  5.     while num/10>=1:
  6.         num=add(num)
  7.         
  8.     return num
复制代码

评分

参与人数 1荣誉 +1 鱼币 +1 贡献 +1 收起 理由
zltzlt + 1 + 1 + 1

查看全部评分

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

使用道具 举报

发表于 2019-10-4 05:22:33 | 显示全部楼层
  1. def sum_dig(num):
  2.     if num <10:
  3.         return num
  4.     else:
  5.         total = 0
  6.         while num:
  7.             total += num%10
  8.             num = num//10
  9.             
  10.         return sum_dig(total)
复制代码

评分

参与人数 1荣誉 +1 鱼币 +1 贡献 +1 收起 理由
zltzlt + 1 + 1 + 1

查看全部评分

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

使用道具 举报

 楼主| 发表于 2019-10-4 08:03:11 | 显示全部楼层
战场原 发表于 2019-10-3 20:13
def solution(nums: int):
    while nums>=10:
        tmp = 0

恭喜通过!

执行用时:44 ms
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-10-4 08:04:02 | 显示全部楼层

恭喜通过!

执行用时:52 ms
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-10-4 08:04:31 | 显示全部楼层

恭喜通过!

执行用时:44 ms
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-10-4 08:05:06 | 显示全部楼层

恭喜通过!

执行用时:40 ms
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-4 09:31:33 | 显示全部楼层
没几个递归的,呵呵
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-4 11:20:03 | 显示全部楼层
  1. def func(num):
  2.     str_num = str(num)
  3.     length = len(str(num))
  4.     if length == 1:
  5.         return num
  6.     else:
  7.         num = 0
  8.         for each in range(length):
  9.             num += int(str_num[each])
  10.         return func(num)

  11. print(func(0))
  12.    
复制代码

评分

参与人数 1荣誉 +1 鱼币 +1 贡献 +1 收起 理由
zltzlt + 1 + 1 + 1

查看全部评分

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

使用道具 举报

发表于 2019-10-4 11:26:57 | 显示全部楼层
递归:
  1. def f251(num):
  2.     return num if num < 10 else f251(sum([int(i) for i in str(num)]))
复制代码


找规律:
  1. def f251(num):
  2.     return num if num < 10 else (num - 1) % 9 + 1
复制代码

评分

参与人数 1荣誉 +1 鱼币 +1 贡献 +1 收起 理由
zltzlt + 1 + 1 + 1

查看全部评分

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

使用道具 举报

发表于 2019-10-4 11:52:22 | 显示全部楼层
本帖最后由 juhugufudu 于 2019-10-4 12:21 编辑
  1. def a(num):
  2.     n = 0
  3.     if num>=10:
  4.         for i in str(num):
  5.             n += int(i);
  6.         num = n
  7.         a(num)
  8.     else:
  9.         print(num)
  10.         return
  11. a(199)


复制代码




评分

参与人数 1荣誉 +1 鱼币 +1 贡献 +1 收起 理由
zltzlt + 1 + 1 + 1

查看全部评分

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-24 22:18

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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