0
我的代碼是用python 3編寫的,它的意思是打印出迴文。 應該通過2個3位數的所有迴文產品迭代,如下圖所示:爲什麼排序列表返回無?
mylist=[]
for i in range(999,99,-1):
for x in range(999, i-1, -1,):
number=i*x
number=str(number)
if number==number[::-1]:
#print(number)
mylist.append(number)
mylist=mylist.sort(reverse=True)
print(mylist)
注意註釋掉打印。當這仍然存在時,應該打印的所有迴文出來。 當我運行我的代碼時,沒有print
語句,控制檯只打印出'None'。
據我所見,我的邏輯是有序的,爲什麼會發生這種情況? 編輯: 此外,當我以相反的順序排序我的列表時,99999排在第一位。我收集這是因爲python看起來連續9年,並認爲它是最大的。 但是,有沒有簡單的方法來獲得實際最大數量?
你mylist'綁定'來調用'.sort'是就地操作,返回'None'的結果。只要做'mylist.sort(reverse = True)'。 –
@Shawn Li不知道你的修改意味着什麼,但是默認情況下,數字按遞增的數字順序排序,但是你添加了'reverse = True',它會把最大的數字放在第一位 - 因爲好吧,它*是*實際的最大的數字。 – JulienD
@JulienD他們沒有按數字順序排序,因爲99999最先出現,但是一個數字比如101101大於99999.所以我的觀點是你能讓數字最大的數字最接近無窮大嗎? –