왜 오류가 뜨는지 모르겠습니다.

조회수 675회
print("안녕하세요! 향기로운 원두를 볶는 파이 커피입니다. 언어를 골라주세요!")      
language=int(input('1.한국어 2.english 3.日本語')

def coffee(c):

  if language == 1:  

     if c==1:
        a=1500
     elif c==2:
        a=1500
     elif c==3:
        a=2100
     elif c==4:
        a=2500
     elif c==5:
        a=2400
     return a


def size(s):

  if language == 1: 

     if s ==1:
        b=500
     elif s ==2:
        b=1000
     return b
def topping(t):

  if language == 1: 

              if s ==1000
                 c=1000
              elif s ==2:
                 c=1500
              elif s ==3:
                 c=500
              elif s ==4:
                 c=1500
              return b
              def price(a,b,c):
              pay=a+b+c
              return pay

print("메뉴를 골라주세요!")

c= int(input('메뉴: 1.아메리카노 / 2.에스프레소 / 3.카페라떼 / 4.밀크티 / 5.카페모카 '))

s= int(input('사이즈: 1.레귤러 / 2라지 '))

t= int(input('토핑 추가: 1.타피오카펄 / 2.젤리펄 / 3.거품 / 4.코코넛펄 ')
a= coffee(c)

b= size(s)

c= topping(t)       

print("총 금액은",price(a,b,c),"원 입니다.")

print("음료가 곧 나옵니다. 뜨거우니 조심해주세요!")             

파이썬 초보여서 잘 모르겠네요. invalid 오류라고 뜨는데 어디가 잘못된건지 모르겠어요ㅠㅠ 맨처음 def부터 오류라고 빨갛게 나오네요...어디가 잘못됐는지 아시는분..부탁드립니다..알려주새요ㅠㅠ

  • python 은 들여쓰기가 문법입니다. 질문자가 올린 코드는 들여쓰기부터 맞지 않기 때문에 오류가 발생합니다. 정영훈 2018.12.7 02:00
  • 앗 제가 여기 올릴 때 저렇게 들여쓰기가 잘못된건데 원래 소스코드는 들여쓰기가 잘 되어있습니다ㅠㅠ 그런데도 안되네요..왜그럴까요``? 알 수 없는 사용자 2018.12.7 02:02

1 답변

    1. languaget를 정의하는 라인들에 닫는 괄호가 하나씩 부족합니다.
      이런 실수는 VScode나 Sublime Text 같은 에디터에 넣고 코딩을 하시면 간단히 잡을 수 있으니 이런 걸 사용해 주세요.
    2. 정영훈님 댓글대로 각 함수별 들여쓰기에 문제가 있어 보입니다. 예컨대 size() 메소드는 language == 1일 때만 뭔가를 리턴하는데 이게 정말 옳은 동작이 맞나요?

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

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

(ಠ_ಠ)
(ಠ‿ಠ)