分解一个正整数的各位数字,并以一个元组的形式返回的不同方法
#方法一(数字解包,最快!)x = 1234a,b,c,d = map(int,str(x))print(tuple({a,b,c,d}))#方法二(字符串转换函数,也快,注意缩进tab和空格统一)def position(number):ls=[]for i in str(number):ls.append(int(i))return print(tuple(ls))position(1234)
·
#方法一(数字解包,最快!)
x = 1234
a,b,c,d = map(int,str(x))
print(tuple({a,b,c,d}))
#方法二(字符串转换函数,也快,注意缩进tab和空格统一)
def position(number):
ls=[]
for i in str(number):
ls.append(int(i))
return print(tuple(ls))
position(1234)
#方法三(函数递归)
ls1=[]
def func1(n): #从高分位开始打印
lengh = len(str(n)) # 确定数字的长度
x = 10**(lengh-1) # 确定数字的分位
if n < 10:
ls1.append(n)
else:
ls1.append(n//x)
func1(n%x)
return ls1
print(tuple(func1(1234)))
#方法四(调换了方法三的两行,更简洁,逻辑更强大!!!)
ls2=[]
def func2(n): #从高分位开始打印
if n < 10:
ls2.append(n)
else:
func2(n//10)
ls2.append(n%10) #从这里开始回溯了
return ls2
print(tuple(func2(1234)))
参考:(14条消息) python 利用递归实现打印一个数字的每一位_Jenny_He的博客-CSDN博客_python输出一个数的每一位
更多推荐
已为社区贡献1条内容
所有评论(0)