2017-03-12 22 views
-1

私は何時間も、同じPythonによる2つの同じ文字列が同じではありません。同じ文字列が等しいはずですが、それらは同じではありません

このコードの目的は、接頭辞と接尾辞が等しい最長のサブストリングを見つけることです。

私はそれをデバッグしていて、メモリに値を格納していました。それは同じように見えます。

... == iの代わりにisを試してみました。それでも同じ問題。

s = 'aaaaaaa' 
l = len(s) 
i = 1 
prefix = 0 
suffix = 0 
for v in s: 
    if (i < l): 
     prefix = s[:i] 
     suffix = s[l-i:] # idk maybe this cause some problem 
     i += 1 
    if (prefix.strip() == suffix.strip()): 
     print(len(prefix)) 

EDIT:私はなぜ知らないが、コードは仕事を始めました。トピックを閉じることができます。

+1

どの文字列が同じであるはずですか?なぜ 'prefix'と' suffix'を0に初期化していますか? – nbro

+1

文字「v」の目的は何ですか? –

+1

投稿したコードが期待通りに機能します。 (私はすべての数字が印刷される)。 –

答えて

0

くださいRE-EDITあなたの質問、StackOverflowののメンバーは理解せずにあなたを助けることができない(期待される、自然、合理的な)問題。これは素晴らしいコミュニティになると、SPECIFIC(問題のインスタンス)問題が発生した場合、私を含めてあなたを助けることができます。

あなたは何を比較しようとしていますか?何の構文エラーがあなたのコードではありません(それが実行YAY!)が、あります:あなたは(またはそれ以上)を比較することができるしている IF文を使用すると、

faulty_fuses_new_variable = 'heyman!' #Added a new variable 
s = 'aaaaaaa' #String type variable ---> or you can refer to it as - list of characters -  -- index [0] is the first element 
print(s[0]) 
    #if that's easier for you 

    l = len(s) # This is an integer value variable for example for your case l = 7 

    if len(s)==len(faulty_fuses_new_variable): #Checks if the lenght of the variables are the SAME 7==7 in this case. 
     print ('{0} variable is the same lenght as {1} variable'.format(faulty_fuses_new_variable,s)) 
    #Think of {0} and {1} as place in the string that we will input our values with example : .format(someVar,SomeOtherVar) 

概要値あなたが解決策を求めているので、明らかに論理的な誤りです。したがって、質問への論理的な文脈が必要です。学ぶことができるセクションがたくさんあります - 質問を書く方法 - (時には難しい、そこにあった、それをしました。 知識番号 - >情報)質問している内容を知るためにあなたの疑問を投稿することもできます。

+0

あなたの投稿をありがとう。バグはちょっと消えてしまった。私のコードは必要なように動作しています。 – Daniel