【CodeWars】刷题之Convert number to reversed array of digits

小菜鸡的第一篇文章哈
万一您偶然刷到了,欢迎在评论区贡献您的宝贵意见,共同进步

首先来看一哈题目:

#You have to return the digits of this number within an array in reverse order.

可以看到,这道题目基本上是两个要求
一,将给出的int型数据反转
二,将反转后的数据转化为列表型,每个元素均为int

首先直接来贡献出菜鸡作者的最直接的代码

def digitize(n):
    str_re=str(n)[::-1]
    i=0
    result=[]
    while i<len(str_re):
        result.insert(i,int(str_re[i]))
        i=i+1
    return result

1.将所给数据转化为字符串并通过[ : : -1]进行倒序排列
2.将反转后的字符串逐元素地插入一个新建的result中,得到最后的答案

值得注意的是,最后要求得到的列表中每个元素均为int型,所以要再逐元素插入的时候将每个元素转化为int。

接下来让我们看一哈各路大神们的解答,这里只看一下 clever最高的一个答案

def digitize(n):
    return map(int, str(n)[::-1])

作为一个菜鸡,看到这个答案我都惊呆了好叭!!!

仔细一看其实他的思路和我的代码思路大差不差,首先都是将给定实参字符串化后反转,然后将每一个元素再int化

有关map函数的用法查阅度娘后得到
在这里插入图片描述
可见,这里可以使用map函数是因为最后要求得到的答案和 str(n) 均为列表型

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值