반응형
def myfunc(mylist = str):
mystring = ''
for x in mylist:
if mylist.index(x) % 2 == 0:
mystring = mystring + x.lower()
else:
mystring = mystring + x.upper()
return mystring
print(myfunc('committee')) #Doesn't work
print(myfunc('ilovehoney')) #Does work
내 코드의 실수는 문자열에서 반복되는 문자를 인식하지 못하기 때문에 index ()라고 생각합니다. 내가 사용할 수있는 다른 방법을 아는 사람이 있습니까? 첫 번째 예제의 출력은 'cOmmiTTEE'이지만 'cOmMiTtEe'여야하며 두 번째 예제의 출력은 내가 의도 한 'iLoVeHoNeY'입니다. 두 번째 예에서 내 기능이 갑자기 작동하는 이유는 확실하지 않습니다. 도와 주셔서 감사합니다.
해결 방법
enumerate
를 사용하여 이터 러블에서 색인과 값을 가져올 수 있습니다.
for idx, x in enumerate(mylist):
if idx % 2 == 0:
mystring = mystring + x.lower()
else:
mystring = mystring + x.upper()
참조 페이지 https://stackoverflow.com/questions/63756291
반응형
'파이썬' 카테고리의 다른 글
파이썬 pycharm에 스크래피 설치 (0) | 2020.09.14 |
---|---|
파이썬 패키지 목록에 가져 오기를 사용하는 방법이 있습니까? (0) | 2020.09.14 |
파이썬 내 스크립트에 구문 오류가 있지만 이유와 해결 방법을 알 수 없습니다.> (0) | 2020.09.14 |
파이썬 복잡한 텍스트 파일을 구문 분석하는 데 도움이 필요합니다. (0) | 2020.09.14 |
파이썬 Typeerror int는 호출 할 수 없습니다. (0) | 2020.09.14 |
댓글