如果我使用[(range(1, num +1)]
而不是list(range(1, num+1))
,那么在listRange部分中,该程序无法正常工作?
num = int(input("Please choose a number to divide: "))
listRange = list(range(1,num+1))
divisorList = []
for number in listRange:
if num % number == 0:
divisorList.append(number)
print(divisorList)
答案 0 :(得分:1)
在Python 3中,range()
返回一个范围对象。
使用list(...),您可以将范围对象(可迭代)转换为列表。 使用[],您可以将范围对象包装在列表中,而无需迭代内容。
print([(range(1))]) # [range(0, 1)]
print(list(range(1))) # [0]
答案 1 :(得分:0)
作为附加选项,您可以使用星号/星号(有些称为“splat”)运算符“解压缩”范围对象
[*range(7)]
Out[213]: [0, 1, 2, 3, 4, 5, 6]