Xcmanxjfwanet44uofot
소년sj
  • 2016.6.16 18:25
  • 조회수 82
  • 답변수 1
Xcmanxjfwanet44uofot
소년sj
  • 2016.6.16 18:25
  • 조회수 82
  • 답변수 1

이번 주제를 실습하는 과정중에 질문이 생겼습니다.

def root(a,b,c):
r1=(-b+(b*2-4*a*c)0.5)/(2*a)
r2=(-b-(b
2-4*a*c)0.5)/(2a)

return r1, r2

r1,r2 = root(1,2,-8)
print('근의 값은 {}와 {}입니다'.format(r1,r2))

이것을 실행하면

[근의 값은 2.0와 -4.0입니다] <----------실행시 결과
라고 잘 나옵니다.
그런데 마지막 줄을 이렇게 바꾸면

print('근의 값은',{},'와',{},'입니다'.format(r1,r2))

[근의 값은 {} 와 {} 입니다] <---------------실행시 결과
라고 나옵니다. 이것을 다시 이렇게 바꾸어보면

print('근의 값은','{}와','{}입니다'.format(r1,r2))

[근의 값은 {}와 2.0입니다] <---------------실행시 결과
라고 나옵니다. 첫번째{}가 인식되지 문자로만 인식되는 건데요.
위 3가지의 차이를 알고 싶습니다.

  • #파이썬 입문
  • #함수의 값

1 답변

  • G3rlasealonpd5c2kica
    Demi
    • 2016.6.16 18:28

    .fortmat() 은 바로 앞의 따옴표에만 영향을 미칩니다.

    1. '근의 값은 {}와 {}입니다'.format(r1,r2)의 경우는 format()이 처음부터 끝까지 커버하고
    2. '근의 값은',{},'와',{},'입니다'.format(r1,r2)의 경우는 format()이 '입니다' 까지만 커버합니다
    3. '근의 값은','{}와','{}입니다'.format(r1,r2)의 경우는 '{}입니다'까지만 커버합니다

    • 빠른 답변 감사합니다. 간단한 이유이지만 초보자 입장에서는 에베레스트를 만난 느낌이였거든요. ^^-소년sj
      2016.6.16 18:34

답변 쓰기

이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.