|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
题目:1. 写一个函数get_digits(n),将参数n分解出每个位的数字并按顺序存放到列表中。举例:get_digits(12345) ==> [1, 2, 3, 4, 5]
以下是自己写的(小白刚学不到一个月,希望可以指点,轻喷)
def get_digits(n):
length = len(n)
str1 = str(n)
list1 = []
for each in range(length):
for i in range(str1):
list1.append(i)
print(list1)
get_digits(12345)
你的程序的问题,如下:
、 - def get_digits(n):
- length = len(n) #n是整数,不能作为len的参数
- str1 = str(n)
- list1 = []
- for each in range(length): #不用2层循环,这一层去掉
- for i in range(str1): #str1是字符串,不能作为range的参数
- list1.append(i) #加入列表的是字符串,不是整数
- print(list1)
- get_digits(12345)
复制代码
修改后的:
- def get_digits(n):
- str1 = str(n)
- list1 = []
- for i in str1:
- list1.append(int(i))
- return list1
- print(get_digits(12345))
复制代码
另一种写法:
- def get_digits(n):
- list1 = []
- while n:
- list1.insert(0, n % 10)
- n //= 10
- return list1
- print(get_digits(12345))
复制代码
|
|