저는 Python (그리고 일반적으로 프로그래밍)의 초보자입니다. 나는 시행 착오로 그것을 배우려고 노력해 왔으며 문제가 발생했습니다.
내가 구현하려는 코드는 알파벳 순서로 된 가장 긴 부분 문자열을 얻는 것입니다. 그건,
내가 작성한 코드는 다음과 같습니다.
s = 'abbcdabcd'
sub = ''
temp = ''
for index in range(len(s)):
temp = s[index]
for i in range(len(s[index:])):
if index+i+1 < len(s):
if s[index+i+1] < s[index+i]:
break
else:
temp += s[index+i+1]
if len(temp) >= len(sub):
sub == temp
print('final ',sub)
이것은 이것을 구현하기위한 최적의 논리가 아닐 수도 있지만 작동하는 것 같습니다. 문제는 최종 인쇄 문이 하위 변수의 초기 값을 계속 인쇄한다는 것입니다. 이것을 어떻게 극복합니까?
추신 : 위의 목적을 위해 제가 사용할 수있는 더 나은 알고리즘이 있다면 댓글로 자유롭게 공유해주세요. 그러나 그것은 지금 나에게 부차적 인 일입니다.
당신은 말하고 있습니다
sub == temp
"=="연산자는 할당이 아니라 비교를위한 것임을 기억하십시오. 할당하는 대신 sub와 temp를 비교하고 있습니다. 사용하다
sub = temp
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다