2017-06-26 5 views
0

以下は、3桁の2つの数字の積であるすべての回文数字を見つけるコードです。整数をリストに追加して、この点字で最大値を見つけよう

これらの数字(ここではx番号が印刷されています)を含むリストを作成し、このリストの中で最も高い数字を得るにはどうすればよいですか?

for i in range(101, 1000): 
    for j in range(101, 1000): 
     word = str(i * j) 
     if int(len(word)) == 6: 
      if word[0] == word[5] and word[1] == word[4] and word[2] == word[3]: 
       x=int(word) 
       print(x) 
+0

リストに数値を追加し、 'max'組み込み関数を使用します:https://docs.python.org/3/library/functions.html#max – cdarke

+0

str(word)== str(word)[:: - 1]あなたが完了しました –

答えて

3

事前に空のリストを作成し、すべての番号を追加する必要があります。

palindromes = [] 

...your loops... 
     palindromes.append(int(word)) 

max(palindromes) 
1

が空リストと始動時の負の無限大に等しい最大値を初期化し、必要であれば、それはパリンドロームおよび更新最大である場合、その中にXを追加します。次にmaxを使用して最大値を見つけます。ここ はコードです:

l = [] 
max = float("-inf") 
for i in range(101, 1000): 
for j in range(101, 1000): 
    word = str(i * j) 
    if int(len(word)) == 6: 
     if word[0] == word[5] and word[1] == word[4] and word[2] == word[3]: 
      x=int(word) 
      if(x>max): 
       max = x 
      l.append(x) 
      print(x) 
0

以下このコードは素晴らしい作品:

palindromes = [] 
for i in range(101, 1000): 
for j in range(101, 1000): 
    word = str(i * j) 
    if int(len(word)) == 6: 
     if word[0] == word[5] and word[1] == word[4] and word[2] == word[3]: 
      x = int(word) 
      palindromes.append(int(word)) 
print(max(palindromes)) 
0

ので、コメントと回答からすべての良いビットを収集し、ここで働いすべきいくつかのコードは次のとおりです。

palindromes = [] 
for i in range(101, 1000): 
    for j in range(101, 1000): 
     num = i * j 
     word = str(num) 
     if int(len(word)) == 6: 
      if word == word[::-1]: 
       palindromes.append(num) 
print(max(palindromes)) 
関連する問題