我目前正在研究迴文檢測器(anna,lol,hahah等),並要求使用for-loops。Python 3.0中的For-loops
我希望程序循環兩個字符串(在比較值的同時定期和反向讀取它們)。如果值相同,則迴文是真;如果沒有,它是假的。
我給你的問題是:你如何得到兩個for循環同時運行並比較字符串的值?
目前做這樣的事情:(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
謝謝您的幫助!
編輯:我在描述問題時可能不夠清楚。該程序執行以下操作: 它允許用戶輸入一串文本(例如hello my name is lol),並且該程序旨在查看這是否是迴文。 它分爲三個功能(和一個主要功能)。
函數1修復了文本,所以它只能被縮減爲字符和數字(所以LOL ,,,,,,變成了lol以方便閱讀)。 功能編號2旨在測試(使用for-loops(!))輸入是迴文。 函數3只是要發佈它是否是迴文。
我有使用for循環爲這個,我不能簡單地做一個比較,如: backwardtext = text.reverse() 如果backwardtext ==文字: 打印(「這是一個迴文」)
我希望這可以解決問題。
我知道提問者詢問'for'循環使用,但在這方面的一個改進是使用'all'和'map'功能,不需要用一個'for'循環共。 – Will
@願意 - 這裏最簡單的事情就是做's == s [:: - 1]'。這顯然是最pythonic。然而,循環被稱爲問題約束的一部分。 OP對了解'zip'的作用以及它的工作原理非常重要。也許這是作業的一部分。在「地圖」和「全部」投擲是不會有幫助的。 :) – mgilson
這顯然是一個旨在獲得循環結構知識的編程任務。我只是想指出,在某些情況下,顯式循環可以通過使用map/reduce樣式編程完全刪除。 – Will