문제

현재 Python에서 메소드를 가져 와서 String Formatter에 꽂기 위해 0, 1 또는 두 개의 문자열 목록을 반환 한 다음 문자열 메소드로 전달하려고합니다. 내 코드는 다음과 같이 보입니다.

class PairEvaluator(HandEvaluator):
  def returnArbitrary(self):
    return ('ace', 'king')

pe = PairEvaluator()
cards = pe.returnArbitrary()
print('Two pair, {0}s and {1}s'.format(cards))

이 코드를 실행하려고 할 때 컴파일러는 인덱스 오버러 : 튜플 인덱스 범위를 제공합니다.
인수로 전달하기 위해 내 반품 값을 구조화하는 방법 .format()?

도움이 되었습니까?

해결책

print('Two pair, {0}s and {1}s'.format(*cards))

당신은 별 만 놓치고 있습니다 : d

다른 팁

Python 2.6에서 도입 된 시점에서 비율 연산자보다 형식이 선호됩니다. http://docs.python.org/2/library/stdtypes.html#str.format

또한 형식 문자열을 수정하는 대신 튜플을 * - **의 dict를 풀기 만하면 훨씬 간단합니다.

이것은 "카드"를 카드의 내용이 아니라 인쇄 할 단일 형식 입력으로 사용하려고 시도합니다.

다음과 같은 것을 시도하십시오.

print('Two pair, %ss and %ss' % cards)
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top