안녕하세요!
헤드 퍼스트 프로그래밍으로 파이썬을 해보고 있는데요 (공부라고 하기도 좀 민망;;)
프로그램의 목적은
1. get_price 함수 생성
2. 웹사이트 내에서 가격 정보(>$) 위치를 찾고
3. 스트링 내에서 찾아서 그 값을 함수의 값으로 함
4. 사용자 입력을 Y/N으로 받고,
5. Y일 경우 get_price() 함수의 값을 출력
6. N일 경우 10초를 기다린 후, get_price() 값이 조건(>4.74)에 맞으면 구매하라는 명령어를 출력, 아니면 다시 대기
라는 내용인데요!
뜯어보면 이렇습니다
import urllib.request
import time
def get_price():
text = page.read().decode("utf8")
where = text.find('>$')
start_of_price = where + 2
end_of_price = start_of_price + 4
return float(text[start_of_price:end_of_price])
text = input("커피콩의 가격을 보여 드릴까요? Y/N ")
price_now = text.upper()
if price_now == "Y":
print(get_price())
if price_now == "N":
price = 99.99
while price > 4.74:
print("10초를 기다린 후, 알려 드립니다.")
time.sleep(10)
price = get_price()
print("구매하세요!")
else:
print("다시 입력해주세요!")
여기서 기본 기능에 제가 추가한 부분은 진하게 표시 해놨어요 기본 기능에다가 Y/N/y/n 이하의 글을 input하면 다시 입력해 달라는 말을 출력하고 싶었거든요!
근데 실행해보면
>>> ================================ RESTART ================================
>>>
커피콩의 가격을 보여 드릴까요? Y/N n
10초를 기다린 후, 알려 드립니다.
구매하세요!
>>> ================================ RESTART ================================
>>>
커피콩의 가격을 보여 드릴까요? Y/N y
4.12
다시 입력해주세요!
보시다시피 대, 소문자 Y를 입력할 때마다 다시 입력해주세요!가 쓸데없이...8ㅅ8 저를 괴롭혀요...
어떻게 해야 될까요? ㅠㅠ 너무 쉬운 글이라면 검색어라도..알려주세요 ㅠㅜ