- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
规范:Ubuntu 13.04、Python 3.3.1
一般背景:Python 初学者;
特定问题的背景:我已经精疲力竭地试图解决这个问题,而且我知道,除了它对学习 Python 的指导值(value)之外,这个问题很无聊而且没有任何意义让这个世界变得更美好 :-( 所以,如果你能就这个令人筋疲力尽的问题分享一些指导,我将更加感激。但如果你对这类问题不感兴趣,我真的不想浪费你的时间。
我打算做的事情:“计算面值小于 1 美元的基本美国硬币的数量。一便士值 1 美分,一镍币值 5 美分,一角硬币值10 美分,四分之一值(value) 25 美分。赚 1 美元需要 100 美分。因此,给定少于 1 美元的金额(如果使用 float ,在本练习中转换为整数),计算达到该金额所需的每种硬币的数量,最大限度地增加大面额硬币的数量。例如,给定 0.76 美元或 76 美分,正确的输出将是“3 季度 1 便士”。诸如“76 便士”和“2 25 美分、2 角、1 镍和 1 便士”之类的输出是 Not Acceptable 。
我能想出什么:
penny = 1
nickel = 5
dime = 10
quarter = 25
i = input("Please enter an amount no more than 1 dollar(in cents): ")
i = int(i)
if i > 100:
print ("Please enter an amount equal or less than 100. ")
elif i >= quarter:
quarter_n = i % quarter
i = i - quarter * quarter_n
if i >= dime:
dime_n = i % dime
i = i - dime * dime_n
if i >= nickel:
nickel_n = i % nickel
i = i - nickel * nickel_n
if i >= penny:
penny_n = i % penny
print (quarter_n,"quarters,",dime_n,"dimes",nickel_n,"nickels",penny_n,"pennies")
else:
if i >= penny:
penny_n = i % penny
print (quarter_n,"quarters,",dime_n,"dimes",penny_n,"pennies")
else:
if i >= nickel:
nickel_n = i % nickel
i = i - nickel * nickel_n
if i >= penny:
penny_n = i % penny
print (quarter_n,"quarters,",nickel_n,"nickels",penny_n,"pennies")
else:
if i >= penny:
penny_n = i % penny
print (quarter_n,"quarters,",penny_n,"pennies")
else:
if i >= dime:
dime_n = i % dime
i = i - dime * dime_n
if i >= nickel:
nickel_n = i % nickel
i = i - nickel * nickel_n
if i >= penny:
penny_n = i % penny
print (dime_n,"dimes",nickel_n,"nickels",penny_n,"pennies")
else:
if i >= penny:
penny_n = i % penny
print (dime_n,"dimes",penny_n,"pennies")
else:
if i >= nickel:
nickel_n = i % nickel
i = i - nickel * nickel_n
if i >= penny:
penny_n = i % penny
print (nickel_n,"nickels",penny_n,"pennies")
else:
if i >= penny:
penny_n = i % penny
print (penny_n,"pennies")
这个解决方案虽然是我能想到的最好的解决方案,但在输入实际输入数字时无法按预期工作。而且我无法弄清楚为什么。此外,我知道即使从代码的绝对大小来看也有问题。我搜索了类似的问题,但我得到的最接近的是一个涉及非常困难的数学的问题,我无法理解。
我的问题:我知道我不能要求一个完整的解决方案,因为这取决于我自己想办法。我会很感激 a) 关于正确思路的一般指示 b) 对我当前代码/思路的批评,以便我可以改进它。
感谢您花时间阅读本文!
最佳答案
如果您对所有 mod 运算符 %
进行“查找和替换”,并在整数除法 //
中切换,我认为您的解决方案实际上可能有效。
假设您有 76
美分并且想要找到 25 美分的数量。使用 76 % 25
结果是 1
而 76//25
是 3
。
关于代码,您可能应该考虑迭代可能的硬币值而不是巨大的 if
、elif
困惑。
尝试这样的事情。唯一可能需要解释的部分是使用 divmod
但它实际上只是整数除法的 tuple
,取模结果。您可以使用它分别获取硬币数量和新数量。
def coins_given(amount):
coins = [(25, 'quarter'), (10, 'dime'), (5, 'nickel'), (1, 'penny')]
answer = {}
for coin_value, coin_name in coins:
if amount >= coin_value:
number_coin, amount = divmod(amount, coin_value)
answer[coin_name] = number_coin
return answer
print coins_given(76)
# {'quarter': 3, 'penny': 1}
关于Python-Modulus-Stuck 与给定美元金额的硬币场景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16978755/
我目前正在做一个项目,试图开发一种用于 P2P 能源交易的货币和模型,其中每产生一千瓦时的可再生能源就会向该生产商类型转换一枚硬币。我的问题是关于销毁智能合约中的代币。 所有与我的项目类似的当前实现都
在没有Maps帮助的情况下通过Memoization解决问题,由于读取文件的方法,我得到了TLE,根据我的说法,这不应该是这种情况。可能的原因是什么? 这是给出 AC - http://ideone.
考虑下面这段伪代码,其中d是面额值数组,k是面额数,n是要进行更改的金额。 Change(d; k; n) 1 C[0] 我真的不明白这部分,你为什么要用它,谁能给我解释一下! 最佳答案 为了回答
我正在尝试在我的网站上实现 Coin Slider (http://workshop.rs/2010/04/coin-slider-image-slider-with-unique-effects/)
我有使用硬币 slider 的画廊 var $jq = jQuery.noConflict(); $jq(window).load(function() { var imhei
我使用了从该站点提取的硬币 slider http://workshop.rs/projects/coin-slider/ .它现在自动滚动并仅在悬停时显示上一个和下一个。我需要禁用自动滚动并正常显示
我的问题是一道CodeFu练习题(2012 round 2 problem 3)。它基本上归结为将整数数组分成两个(几乎)相等的两半并返回两者之间可能的最小差异。我在下面包含了问题描述。如评论中所述,
我们的老师要求我们制作一 jar 硬币,用来计算我们有多少便士、一毛钱等,然后给出总金额。 这是他希望我们使用的模板 https://online.pcc.edu/content/enforced/7
我正在尝试使用币安币 future 的 api 下载 BTC/USD 永续 future 的历史价格数据,具体来说,我想使用 this endpoint .但是,我找不到必须为 BTC/USD 指定的
我上周刚开始学习计算机科学,我们得到了一个名为“硬币”的工作表,其中我必须找出一组硬币中有多少个 25 美分、10 美分、5 美分和 10 便士。我遇到了很多麻烦,并收到了该错误。这是我的代码 pac
我正在构建一些使用消耗性硬币的测验。我使用 NSUserDefault 来保存设备上的硬币及其工作。我还在 qiuz 中使用 CloudKit 处理数据。 不麻烦的是,如果用户切换设备如何恢复硬币?有
我是一名优秀的程序员,十分优秀!