我希望能够使用以下公式从任意给定的数字创建因子列表。由于不允许使用列表,因此我使用字符串进行模拟,如下所示:
例如,假设我们选择num=12:
def factors(num):
i=1
while i <= num :
if num % i == 0:
print i
i = i + 1
这段代码输出:
1
2
3
4
6
12
如果不能使用列表、for循环、int函数,只能使用字符串,如何格式化循环输出以使其看起来像这样:
[1, 2, 3, 4 ,6 ,12]
我先尝试了以下操作:
num = 12
i = 1
while i <= num :
if num % i == 0:
a=str("[")+str(i)+", "+str("]")
print a
i = i + 1
这将打印:
[1, ]
[2, ]
[3, ]
[4, ]
[6, ]
[12, ]
有人能帮忙或建议我在哪里添加打印状态,或如何修改吗?谢谢!
print
输出内容和函数return
返回内容时REPL显示的区别感到困惑。 - Blenderwhile
循环中,您可以使用a += str(i)
来连接每个str(i)
。如果开始时a = str(i)
,那么它将在每次循环中为变量a
分配一个新值(丢弃旧值)。然后,在循环后,您可以打印a
。 - Eric Tsui