【发布时间】:2021-01-14 05:01:14
【问题描述】:
我正在网站上练习算法。
我想每 3 位添加数据(数字)逗号(,)。
但我创建的变量“a”不能作为收集答案。
但我搜索的变量“b”是收集答案。
你能告诉我为什么'a'和'b'不一样
length = 8
data = "12421421"
inv_result = []
for index in range(length):
if index % 3 == 0:
inv_result.append(',')
inv_result.append(str(data[index]))
else:
inv_result.append(str(data[index]))
result = inv_result[::-1]
#first comma delete
result.pop()
a = ''.join(result)
b = format(int(datas),",")
print(a)
print(b)
print(a == b)
结果是
12,412,421
12,421,421
False
【问题讨论】:
-
什么是
datas? -
因为您的代码会随机排列数字。如果你仔细看,一个字符串是
'12,412,421',另一个是'12,421,421'。 -
如果您在测试时尝试了其他示例。例如
data = "12345678"您可能会立即明白出了什么问题。始终尝试测试各种数据。这个例子看起来“几乎正确”,因为这个数字“几乎是一个回文”,与一个明显非常错误的例子相比,这可能会让人感到困惑。 -
谢谢!我错过了。 :)