【发布时间】:2021-08-31 13:33:45
【问题描述】:
我一直致力于将整数拆分为它们所包含的数字,然后检查列表中是否有任何重复的数字。然而,代码似乎总是说没有重复的数字,即使有。
我的代码:
def repeatCheck(myList, repeatedNumber):
seen = set()
for number in myList:
if number in seen:
repeatedNumber = True
seen.add(number)
return repeatedNumber
def numberWorks(number, finalNumber):
digits = [int(n) for n in str(number)]
repeatedNumber = False
repeatCheck(digits, repeatedNumber)
if repeatedNumber == False:
print(number, "succeeded repeatedNumber")
found = True
else:
print(number, "failed repeatedNumber")
pass
return number
number = 1000000000
while found == False:
numberWorks(number, finalNumber)
number += 1
print(finalNumber)
输入编号为 1000000000,输出应为 1023456789
如果我提供的代码不够用,请告诉我任何可以解决的方法。
谢谢。
【问题讨论】:
-
你能解释一下
conitionedNumber的意义吗?此外,您对范围的使用无处不在,由于底部的缩进,该代码甚至不会运行。您可能应该努力弄清楚 return 语句是如何工作的。 -
请添加示例输入和预期输出
-
顺便说一句,看你写的标题,有很多方法可以解决这个问题,但首先给我们一个例子。
-
在最后一个 while 循环中您需要
==而不是=,而在它之后您缺少:。 -
对不起,我在尝试创建一个最小的可复制代码时犯了这些错误,并在制作时弄乱了其中的一些。我现在已经解决了所有被指出的问题。