首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >驱魔演习:汇率

驱魔演习:汇率
EN

Stack Overflow用户
提问于 2022-05-10 21:03:28
回答 1查看 261关注 0票数 0

我必须在Python中创建一个脚本,它在转换货币的同时还增加了交换费。以下是正确的说明:

创建exchangeable_value()函数,获取预算、exchange_rate、spread和分母。

参数差价是作为交换费计算的百分比,以整数形式写成。它需要被转换成十进制,除以100。如果1.00欧元== 1.20美元,价差为10,则实际汇率为: 1.00欧元== 1.32美元,因为1.20的10%是0.12,而这一额外费用将加到交易所。

此函数应在计算汇率加上利差后返回新货币的最大值。请记住,货币面额是一个整数,不能再分割.

注意:返回的值应该是int类型。

话虽如此,我想出的代码是:

代码语言:javascript
复制
def exchangeable_value(budget, exchange_rate, spread, denomination):
    new_exchange_rate = exchange_rate * ((spread/100)+1)
    x = budget/new_exchange_rate
    return x//denomination

为了彻底起见,下面是我得到的测试输入和输出:

代码语言:javascript
复制
(100000, 10.61, 10, 1): 8568 (correct)

(1500, 0.84, 25, 40): 35.0, should be 1400

(470000, 1050, 30, 10000000000): 0 (correct)

(470000, 0.00000009, 30, 700): 5,738,705,738.0, should be 4,017,094,016,600

(425.33, 0.0009, 30, 700): 519.0, should be 363,300

FWIW,答案对我来说是可用的,我只是不明白为什么我的代码不能工作。

EN

回答 1

Stack Overflow用户

发布于 2022-05-10 21:14:59

问题是:

代码语言:javascript
复制
return x//denomination

你不应该仅仅除以面额,因为这将返回多少单位,你需要一个面额。

相反,您应该返回一个denomination的倍数,以覆盖所需的值。所以要正确地:

代码语言:javascript
复制
return (x//denomination)*denomination
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72192916

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档