当前位置:   article > 正文

Python练习题答案: 转换货币II【难度:2级】--景越Python编程实例训练营,1000道上机题等你来挑战_武汉理工大学头歌货币转换答案

武汉理工大学头歌货币转换答案

转换货币II【难度:2级】:

答案1:

def solution(to,lst):
    dolSym, eurSym, power = ('', '€', -1) if to=='EUR' else ('$','', 1)
    return [f"{ dolSym }{ v*1.1363636**power :,.2f}{ eurSym }" for v in lst]
  • 1
  • 2
  • 3
  • 4

答案2:

def solution(to_cur, values):
    rate  = 1.1363636
    style = "{:,.2f}"
    
    if to_cur == "EUR":
        rate = 1 / rate
        style += "€"
    else:      # "USD"
        style = "$" + style
    
    return [style.format(v * rate) for v in values]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

答案3:

def solution(to_cur,value):
    #multiply number by appropriate conversion rate, and round using the ",.2f" format (rounds/pads to last 2 decimals and uses commas)
    return [f"${i*1.1363636:,.2f}" if to_cur == "USD" else f"{i/1.1363636:,.2f}€" for i in value]
  • 1
  • 2
  • 3
  • 4

答案4:

def solution(to_cur,value):
    r = []
    for number in value:
        if to_cur == "USD":
            r.append("${:,.2F}".format(number * 1.1363636))
        else:
            r.append("{:,.2F}€".format(number / 1.1363636))
    return r​

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

答案5:

def solution(to_cur,value):
    if to_cur is 'USD':
        return [f'${i*1.1363636:,.2f}' for i in value]
    if to_cur is 'EUR':
        return [f'{i/1.1363636:,.2f}€' for i in value]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

答案6:

conv = {
    'EUR': lambda v: '{:,.2f}€'.format(round(v/1.1363636,2)),
    'USD': lambda v: '${:,.2f}'.format(round(v*1.1363636,2))
}

solution = lambda cur,val: [conv[cur](v) for v in val]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

答案7:

def solution(to_cur,values):
    if to_cur == 'EUR':
        return [f'{val / 1.1363636:,.2f}€' for val in values]
    return [f'${val * 1.1363636:,.2f}' for val in values]
  • 1
  • 2
  • 3
  • 4
  • 5

答案8:

def solution(to_cur,value):
    rate = 1.1363636
    USD = "${:,.2f}".format
    EUR = "{:,.2f}€".format
    return [USD(cur * rate) if to_cur == "USD" else EUR(cur / rate) for cur in value]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

答案9:

def solution(to_cur,value):
    d ={"USD": lambda x: "${:,.2f}".format(x*1.1363636),"EUR": lambda x: "{:,.2f}€".format(x/1.1363636)}
    return list(map(d[to_cur], value))
  • 1
  • 2
  • 3
  • 4

答案10:

def solution(to_cur,value):
    USD_TO_EUR_RATE = 1.1363636
    if to_cur == 'USD':
        return ['${:,.2f}'.format(round(x * USD_TO_EUR_RATE, 2)) for x in value]
    elif to_cur == 'EUR':
        return ['{:,.2f}€'.format(round(x / USD_TO_EUR_RATE, 2)) for x in value]
    else:
        raise valueError​

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9



Python基础训练营景越Python基础训练营QQ群

在这里插入图片描述
欢迎各位同学加群讨论,一起学习,共同成长!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/462282
推荐阅读
相关标签
  

闽ICP备14008679号