0

これが最も簡単で最も簡単なチェック方法であることを理解しています。

if val == val[::-1]:
    print "yes"
else:
    print "no"

しかし、練習のために、ネストされたforループでテストしたかった(関数を使用して-私は何時間も費やしましたが、どこにそれを正しくするreversed()かを完全に理解することができませんでした:continuebreak

for i in val:
    for j in reversed(val):
        if i == j:
            break
    break
4

3 に答える 3

3

これはそれを行う必要があります:

for i, j in zip(val, reversed(val)):
    if i != j:
        print 'no'
        break
else:
    print 'yes'

編集:elseループの句を指摘してくれた@jamylakに感謝しforます。私はそれを忘れ続けます!

しかし、その後、私はおそらくただするでしょう:

print 'yes' if list(val) == list(reversed(val)) else 'no'
于 2012-05-18T07:46:07.663 に答える
2
for i in range(len(val)/2):
    if val[i] != val[-i-1]:
        return False
return True
于 2012-05-18T07:46:29.530 に答える
0

これは、ネストされたループのユースケースではありません。ネストされたループは、何かの各要素を他の何かの各要素と比較する場合に役立ちます。あなたの場合、最初の位置を最後の位置と比較し、2番目の位置を最後から2番目の位置と比較するだけです。これを行う必要があります:

for i in range(len(val)/2):
    if val[i] != val[-i-1]:
        continue
    else:
        break
于 2012-05-18T09:16:49.933 に答える