我需要从我的Json文件中带一个值
{
"AUD": 1.5974,
"BGN": 1.9558,
"BRL": 4.0666,
"CAD": 1.5889,
"CHF": 1.1671,
"CNY": 7.8016,
"CZK": 25.399,
"DKK": 7.4484,
"GBP": 0.872,
"HKD": 9.6641,
"HRK": 7.4435,
"HUF": 311.66,
"IDR": 16938.0,
"ILS": 4.2959,
"INR": 80.183,
"ISK": 122.7,
"JPY": 129.75,
"KRW": 1330.5,
"MXN": 22.776,
"MYR": 4.819,
"NOK": 9.5308,
"NZD": 1.7031,
"PHP": 64.544,
"PLN": 4.2217,
"RON": 4.6675,
"RUB": 70.32,
"SEK": 10.12,
"SGD": 1.6207,
"THB": 38.512,
"TRY": 4.8372,
"USD": 1.2316,
"ZAR": 14.572
}
例如,澳元:我需要带来1.5974的价值..
我的剧本:
import json
with open('2018-03-22.txt', 'r') as f:
data = json.load(f)
brl = (data["BRL"])
usd = float(data["USD"])
aud = (data["AUD"])
coin=str(input('choose coin: ')).lower()
amount=int(input('insert amount: '))
if coin==aud:
print(aud*amount)
当我打印这个时,我不会看到任何错误,但它不会打印任何内容.
我需要将str转换为float吗?
谢谢你的时间和帮助.
最佳答案 您正在将硬币与aud进行比较,它等于数据[‘AUD’],这是一个整数.试试这个:
if coin=='aud':
print(aud*amount)
但是,更好的方法可能是这样的:
try:
print(data[coin.upper()] * amount)
except:
print('Invalid currency')
这将是一种灵活的方式来转换为许多不同的货币,而不是检查每种货币.