현재 palindrome-detector (anna, lol, hahah 등)에서 작업 중이며 for-loops를 사용하도록 요청 받았습니다.파이썬 3.0 용 For-loops
나는 두 개의 문자열 (값을 비교하면서 동시에 정기적으로 뒤로 읽을)을 통해 루프 프로그램을 원한다. 값이 같으면 palindrome은 True입니다. 그렇지 않다면 거짓입니다.
내 질문은 : 두 개의 for-loops를 동시에 실행하고 문자열 값을 비교하는 방법은 무엇입니까? 필요한 경우 전체 코드를 게시, (파이썬 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 테스트 디자인 ((- 루프를 이용!)) 입력이 있으면 회문. 함수 번호 3은 단순히 회문인지 아닌지 여부를 게시합니다.
나는에 대한-루프이 사용하기이 나는 단순히 같은 비교를 수행 할 수 없습니다 backwardtext = text.reverse() 경우 backwardtext == 텍스트 : 인쇄 ("그것은 회문이다")
나는이 일을 지 웁니다 바랍니다.
전부. – Will
@Will - 가장 쉬운 방법은's == s [:: - 1]'입니다. 분명히 가장 파이썬 스럽습니다. 그러나 루프는 문제에 대한 제약 조건의 일부로 언급됩니다. OP가 'zip'이하는 일과 작동 방식을 이해하는 것이 중요합니다. 아마도 그것은 과제가 받고있는 부분 일 것입니다. 'map'과'all'을 던지면 그걸 도울 수 없습니다. :) – mgilson
이것은 루핑 구문에 대한 지식을 얻는 것을 목표로하는 프로그래밍 작업입니다. 나는지도/감추기 스타일 프로그래밍을 사용하여 명시 적 루프를 모두 제거 할 수있는 경우가 있음을 지적하고자했습니다. – Will