|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
大神麻烦看一下,这个题目的要求和解答是这样的:
result = [] # 首先将result设为列表形式
def get_digits(n):
if n>0 :
result.insert(0,n%10)# 循环第一步是取余运算,并把结果添加到列表的第一个位置上
get_digits(n//10)# 第二步是地板除
get_digits(1234)# 往复循环,直至n=0则跳出循环
print(result)#最后打印出的结果是列表
我想请问如果输入的是一个小于零的负数,应该怎么修改代码呢?比如,输入-1122,打印出来是[-1,-1,-2,-2]这样的。
- result = [] # 首先将result设为列表形式
- def get_digits(n):
- if n>0:
- result.insert(0,n%10)
- get_digits(n//10)
- if n<0:
- n=abs(n)
- result.insert(0,-(n%10))
- get_digits(n//10)
- return result
- a=get_digits(8964)
- #由于负数地板除和取余数与正数不同,故做以下处理
- b=[]
- if a[-1]<0:
- for each in a[:-1]:
- b.append(-each)
- b.append(a[-1])
- else:
- b=a
- print(b)
复制代码
|
|