파이썬 숫자 줄맞추기 관련 질문 있습니다!!!

조회수 1517회

파이썬 과제 중 마지막 문제가 생겨 질문할 곳을 찾다 이곳을 찾아 질문드립니다.

사진과 같이 반복문을 사용해 계산 결과값들을 출력하는 프로그램을 작성했는데, 첫번째 예시에서는 숫자들의 줄이 맞춰졌는데 두번째 예시에서는 첫째줄 50과 그 결과값 18.9191이 줄이 맞질 않습니다.

format 이용이 잘못된 걸까요? \t와 띄어쓰기로 조정해 보려고 했는데 되질 않습니다. 제발 도와주세요.

이미지가 하나밖에 올라가지 않아 제가 만든 코드는 답변에 적었습니다. 한번만 도와주세요~

![![![이미지][1]][1]][1]

1 답변

  • while True:
        carbon=float(input('Quantity of carbon dioxide (moles) > '))
        if carbon>0:
               break;
    while True:
        tem=int(input('Temperature (Kelvin) > '))
        if tem>0:
          break;
    
    while True:
        iniv=int(input('Initiail volume (mililiters) > '))
        if iniv>0:
          break;
    
    while True:
        fvol=int(input('Final volume (mililiters) > '))
        if fvol>0:
          break;
    
    while True:
          vinc=int(input('Volume Incerment (mililiters) > '))
          if vinc>0:
           break;
    #두 줄 공백을 위해 print('/n')을 썼습니다
    print('\n')
    print('\n')
    #출력값의 자릿수를 조정하기 위해 format을 사용했습니다.
    print('{:.4f} moles of dioxide in {} kelvin'.format(carbon,tem))
    print('\n')
    
    #부피와 압력을 표현했습니다. \t를 이용해 띄어쓰기를 했습니다.
    print('Volume(ml)\tPressure(atm)')
    #계산하려면 iniv와 vinc를 리터 단위로 바꾸어야 하기 때문에 1000으로 나누었습니다.
    V=iniv/1000
    inc=vinc/1000
    running=True
    while running:       
    #carbon은 처음부터 몰단위로 넣어줬고, 온도는 K로 넣어줬기 때문에 문제의 계산식대로 계산했습니다.
          p=(carbon*0.08206*tem/(V-(0.0427*carbon))-(3.592*carbon**2)/V**2)
          print('        {:.0f}  \t     {:.4f}'.format(int(V*1000),p))
          V+=inc
          if V>fvol/1000+0.0005:
              running=False
    
    
    

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)