【发布时间】:2014-08-12 20:47:18
【问题描述】:
我想仅使用以下公式从任何给定数字创建一个因子列表。因此,我不允许使用列表,我模仿使用字符串如下:
例如,假设我们选择 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, ]
谁能帮助或建议我可以将打印状态放在哪里或如何修改它?谢谢!
【问题讨论】:
-
我想你可能对
printing 某事和 REPL 函数returns 某事时显示的内容之间的区别感到困惑。 -
我想我对计算机如何存储值感到困惑。我真正想要的是这个函数 def factor(num): 使用该代码并返回 [a, b, c, d,] 等。
-
是的,这就是列表在 REPL 中打印出来时的样子。
-
在
while循环中,您可以使用a += str(i)连接每个str(i)。如果与原始a = str(i)一起使用,它将每次只为变量a分配一个新值(丢弃旧值)。然后,你可以在循环之后printa。
标签: python string loops python-2.7 while-loop