파이썬 오류

조회수 871회
import urllib.request
price=99
while price > 5:
    page=urllib.request.urlopen(
        "http://beans-r-us.appspot.com/prices.html")
    text=page.read().decode("utf-8")
    start=text.find(">$")+2
    end=start+4
    price=text[start:end]
    print(price)

    if float(price) > 5.5:
        print("Wait")
    else:
        print("Buy")

이 프로그램을 올바르게 고치는 방법은 알고 있는데 이 프로그램이 무엇이 잘못되서 오류가 생기는지 알고 싶습니다.

  • 안다면서...묻는 이유가 뭔가요? 정영훈 2017.9.18 17:58
  • 옛날이라서 기억은 잘 안 나지만 올바른 프로그램이 제가 짠게 아니라 수업시간에서 한 거라 위의 프로그램은 왜 안 되는지 궁금하게 되어 질문을 하게 되었습니다. (그러니깐... 수학문제를 풀었는데 답은 알고 있으나(답지등등), 제가 푼 과정에서는 왜 답이 안 나오는지 궁금하다고 할까요...) 궁금이 2017.10.24 23:37

1 답변

  • 좋아요

    0

    싫어요
    채택 취소하기

    처음에 price는 99로 초기화되어, 숫자 타입입니다. 그런데 중간에 price=text[start:end]을 실행하면서 price의 타입이 string이 되어버리지요.

    따라서 while price > 5에서 문자열과 정수를 비교할 때 에러가 발생합니다.

    • (•́ ✖ •̀)
      알 수 없는 사용자

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

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

(ಠ_ಠ)
(ಠ‿ಠ)