입력하세요 문자열 : 파이썬과 펄 프로그래밍하는 언어 분할 문장
Python
Perl
and
are
programming
languages
내가 입력 분할 할 수 있지만, 대문자 단어 위에 이동합니다. 두 가지 목록을 사용하려고 생각합니다. 하나는 제목의 단어와 하나는 낮은 단어입니다. if 문을 사용하여 단어를 특정 목록에 배치하려고합니다. 제발 몇 가지 아이디어를 제안하십시오!
감사
입력하세요 문자열 : 파이썬과 펄 프로그래밍하는 언어 분할 문장
Python
Perl
and
are
programming
languages
내가 입력 분할 할 수 있지만, 대문자 단어 위에 이동합니다. 두 가지 목록을 사용하려고 생각합니다. 하나는 제목의 단어와 하나는 낮은 단어입니다. if 문을 사용하여 단어를 특정 목록에 배치하려고합니다. 제발 몇 가지 아이디어를 제안하십시오!
감사
이 같이 때문에 귀하의 예를 출력, 잘못 : e
먼저 오기 때문에
Perl
Python
and
are
languages
programming
자본에 의해 정렬 먼저 Python
위 Perl
될 것입니다. 또한 대문자가 먼저 오기 때문에 원하는 결과를 얻으려면 대문자가 먼저 오게되므로
print "\n".join(sorted(a.split()))
을 얻을 수 있습니다.
편집 :이 수정/출력 해낸 질문을 다시 읽기 후 :
print "\n".join(sorted(a.split(), key=lambda x: x >= 'a'))
출력 :
Python
Perl
and
are
programming
languages
설명 : 파이썬에서 정렬 기능 stable이다, 즉, 비교 키가 동일한 경우 요소의 순서가 서로 상대적으로 유지됩니다. 키 기능은 'a'
(소문자로 시작하는 문자열 임)보다 크거나 같은 값으로 True
값을 할당합니다. 그렇지 않으면 False
입니다. False
은 True
보다 작으므로 대문자 또는 소문자 단어의 순서는 변경하지 않고 대문자는 모두 앞쪽으로 이동합니다.
숙제 인 경우 숙제 인 "숙제"를 지정해야합니다. 어쨌든 두 목록을 사용하는 것은 나쁘지 않습니다.
.split()
문자열을 사용하여 입력 문장을 분할하여 단어를 가져옵니다.for
루프에서 직접 split 식을 사용하여 추출 된 단어를 처리하십시오.word
이 문자열 변수 인 경우 word[0]
이 첫 번째 문자입니다. 'Z'
보다 작거나 같으면 대문자로 된 단어이므로 원하는 목록에 추가해야합니다.'\n'.join(lst)
을 사용하면 단어 목록에서 여러 줄을 가져올 수 있습니다.
일부 코드를 표시하십시오 ... – avasal
질문이 명확하지 않습니다. – Fivesheep
귀하의 숙제입니까? –