当前位置:首页 >> 编程语言 >> 【Python CheckiO 题解】Digits Multiplication,QQ音乐2009

【Python CheckiO 题解】Digits Multiplication,QQ音乐2009

0evadmin 编程语言 1
文件名:【Python CheckiO 题解】Digits Multiplication,QQ音乐2009 【Python CheckiO 题解】Digits Multiplication

CheckiO 是面向初学者和高级程序员的编码游戏,使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务,从而提高你的编码技能,本博客主要记录自己用 Python 在闯关时的做题思路和实现代码,同时也学习学习其他大神写的代码。

CheckiO 官网:https://checkio.org/

我的 CheckiO 主页:https://py.checkio.org/user/TRHX/

CheckiO 题解系列专栏:https://itrhx.blog.csdn.net/category_9536424.html

CheckiO 所有题解源代码:https://github.com/TRHX/Python-CheckiO-Exercise


题目描述

【Digits Multiplication】:给你一个正整数,请你写一个函数来实现:将正整数的每一位(不包括0)相乘,例如:给你 123405, 你应该这样处理 1*2*3*4*5=120(别忘了把0丢掉)。

【链接】:https://py.checkio.org/mission/digits-multiplication/

【输入】:一个正整数

【输出】:正整数的每一位相乘后的结果

【范例】:

checkio(123405) == 120checkio(999) == 729checkio(1000) == 1checkio(1111) == 1 解题思路

先将给的整数转换成字符串形式,循环访问该字符串,如果值不为 0,就将该字符转化成整型,然后依次相乘即可。

代码实现 def checkio(number: int) -> int:num = 1for i in str(number):if i != '0':num *= int(i)return numif __name__ == '__main__':print('Example:')print(checkio(123405))# These "asserts" using only for self-checking and not necessary for auto-testingassert checkio(123405) == 120assert checkio(999) == 729assert checkio(1000) == 1assert checkio(1111) == 1print("Coding complete? Click 'Check' to review your tests and earn cool rewards!") 大神解答 大神解答 NO.1 def checkio(number: int) -> int:if 0 < number < 10 ** 6:result = 1for n in str(number): if n != '0':result = result * int(n)return result 大神解答 NO.2 from functools import reducedef checkio(number: int) -> int:return reduce(lambda x,y: x*y, [int(i) for i in str(number).replace('0','')]) 大神解答 NO.3 def checkio(number: int) -> int:r = 1while number:number, n = divmod(number, 10)if n: r *= nreturn r
协助本站SEO优化一下,谢谢!
关键词不能为空
同类推荐
«    2025年12月    »
1234567
891011121314
15161718192021
22232425262728
293031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
文章归档
网站收藏
友情链接