python - 将多位数字相加直到返回单个数字的函数
问题描述
我需要帮助编写一个 python 脚本来求和一个多位数字,直到剩下一个数字。所以任何等于或大于 10 的数字。
例如,该程序将接受 10 并返回 1。
数字 1 - 9 应该作为错误返回,0 应该作为 0 返回。不是 int 的条目也应该返回错误。
我已经编写了多个版本,但我似乎无法让它按照我想要的方式工作。
这是我正在使用的一些代码:
def SumDig(n):
n = []
if(not isinstance(n, int)) or (n <= 9) or (n >= 1):
return ("Error")
elif(n >= 10):
return (n - 1) % 9 + 1;
return SumDig(n)
解决方案
你不需要它是递归的:
def sumDigits(N):
if N is 0: return 0
if not isinstance(N,int) or N < 10: return "error"
return (N-1)%9+1
推荐阅读
- pandas - Python:如何按顺序获取数字范围
- arrays - Matlab:如何沿数组的一维应用函数
- azure - AZURE SQL DB 漏洞评估标记数据库防火墙设置后的高风险
- python - 如何返回列中的值与另一列中的另一个值不对齐的次数?
- c# - 检查 OrderBy 字符串是否有效
- python - 一个未来可以在 python 中有多个服务员吗?
- javascript - 为什么我们使用 console.table 方法?
- python - 在 CSV (Python) 中将 Str 交换为日期时间
- css - 一堆引导类或在主 css 中创建自定义 css 类?
- assembly - x86 汇编语言中的减法语法问题