미해결
남박사의 파이썬 기초부터 실전 100% 활용
환율정보 어디가 문제 인지 ㅠㅠ 원인을 찾기가 어려워요 ㅠㅠ 도와주세요
강사님 ㅠㅠ 어디가 원인일까요 ?
boy.py 에는
elif command == "/money" or command =="/환율":
w = " ".join(args)
output = module.money_translate(w)
bot.sendMessage(chat_id, output)
이렇게 넣었고요,,,
module.py 에는 아래와 같이 넣었는데 ㅠㅠ
계속
money = format(round(float(money) * float(keywords[0]), 3), ",")
오류가 나타나요,,,강사님처럼 홍콩달라를 했는데도 나타나서 ㅠㅠ
그냥 더 간단하게 했는데도 그러네요 ㅠㅠ
File "/home/Ammasters/telegram_file/bot.py", line 40, in handler output = module.money_translate(w) File "/home/Ammasters/telegram_file/./module.py", line 97, in money_translate money = format(round(float(money) * float(keywords[0]), 3), ",")ValueError: could not convert string to float: '/money 1'
MONEY_NAME = {
"달러": "미국 USD",
"유로": "유럽연합 EUR",
"엔": "일본 JPY(100엔)",
"위안": "중국 CNY",
"파운드": "영국 GBP",
}
def get_exchange_info():
EXCHANGE_LIST = {}
url = "https://finance.naver.com/marketindex//exchangeList.nhn"
r = requests.get(url)
bs = BeautifulSoup(r.text, "lxml")
trs = bs.select("table.tbl_exchange > tbody > tr")
for tr in trs:
tds = tr.select("td")
name = tds[0].text.strip()
value = tds[1].text.strip().replace(",","")
EXCHANGE_LIST[name] = value
return EXCHANGE_LIST
def money_translate(keyword):
EXCHANGE_LIST = get_exchange_info()
keywords = []
for m in MONEY_NAME.keys():
if m in keyword:
keywords.append(keyword[0:keyword.find(m)].strip())
keywords.append(m)
break
if keywords[1] in MONEY_NAME:
country = MONEY_NAME[keywords[1]]
if country in EXCHANGE_LIST:
money = float(EXCHANGE_LIST[country])
if country == "일본 JPY (100엔)":
money /= 100
money = format(round(float(money) * float(keywords[0]), 3), ",")
output ="{} 원".format(money)
return output
if __name__ == "__main__":
print(money_translate("150달러"))