使用python中的子程序而不是if语句

use*_*924 3 python if-statement subroutine

我想知道我是否可以在这里使用子程序,如果是这样我或者是否有另一种缩短这段代码的方法.

    if currency1=='GBP':
        if currency2=='USD':
            number=float(1.64)
        elif currency2=='EUR':
            number=float(1.20552)
        elif currency2=='JPY':
            number=float(171.181)
Run Code Online (Sandbox Code Playgroud)

mhl*_*ter 6

你当然可以写一本字典:

currencies = {}
currencies['USD'] = 1.64
currencies['EUR'] = 1.20552
currencies['JPY'] = 171.181
currencies['GBP'] = 1.

number = currencies[currency2]
Run Code Online (Sandbox Code Playgroud)

这有什么好处,你也可以这样做:

other_number = currencies[currency1]
exchange_rate = number / other_number # exchange rate BETWEEN the two currencies
Run Code Online (Sandbox Code Playgroud)