私は現在、palindrome-detector(anna、lol、hahahなど)で作業していますが、for-loopsを使用するように要求されています。for-loop in Python 3.0
私は、プログラムが2つの文字列をループするようにしたい(値を比較しながら同時に規則的に読み返しをする)。値が同じ場合、回文はTrueです。もしそうでなければ、それは偽です。
私の質問は、2つのfor-loopを同時に実行して文字列の値を比較する方法です。現在、このような何かやっ
:(Pythonの3.0)を、必要に応じて全体のコードを投稿することができますが:
palindrom = True
text2 = ("")
for i in nytext:
for i in nytext[::-1]:
text2 = (nytext[::-1] + i)
if text2 == nytext:
palindrom = True
else:
palindrom = False
return palindrom
はあなたの助けをありがとう!
EDIT:問題を説明するときに私は十分に明確ではないかもしれません。プログラムはこれを行います: これはユーザーにテキストの文字列(hello my name is lolなど)を入力させ、プログラムはこれが回文かどうかを確認するように設計されています。 3つの機能(および主機能)に分かれています。
機能番号1は、文字と数字だけになるようにテキストを修正します(読みやすくするため、LOL ,,,,,,はLOLになります)。 機能番号2は、入力が回文である場合にテストするように設計されています(for-loops(!)を使用)。 ファンクション番号3は、単にそれが回文かどうかを問わず投稿する予定です。
私はこのためにforループを使用するを持っていると私は単にのような比較はできません:backwardtext場合 backwardtext = text.reverse() を==テキスト: プリント(「それは回文です」)
これが問題を解決することを希望します。
あなたは(あなたの項目が割出し提供される)たぶん少し低いレベルのアプローチは、インデックスをループになりzip
s = 'hannah'
for c_forward,c_backward in zip(s,s[::-1]):
...
を使用
全部。 – Will
@Will - ここでもっとも簡単なのは 's == s [:: - 1]'です。それは明らかに最も有名です。しかし、ループは問題の制約の一部として述べられています。 OPが「zip」が何をし、どのように動作するのかを理解することは重要です。多分それは課題が得ているものの一部です。 'map'と' all'を投げ込むことはそれを助けるつもりはありません。 :) – mgilson
これは明らかにループ構造の知識を得ることを目的としたプログラミング作業です。私はいくつかのケースで明示的なループはマップ/リダクションスタイルのプログラミングを使用して完全に削除できることを指摘しようとしていました。 – Will