Python中文
首页
教程
问答
标签
搜索
登录
注册
而循环前进的太早和不一致
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>在我的代码中,我想把一笔钱分成面额。我正在使用while循环来完成这个任务。然而,我的变量转换到较低的钞票/硬币太早了。你知道吗</p> <p>我添加了一些print命令来隔离问题,我认为它来自第11行。你知道吗</p> <pre class="lang-py prettyprint-override"><code>nmoney = 1.2 print 'original: ' + str(1.2) bills = [] denominations = [100., 20., 10., 5., 1., .25, .10, .05, .01] n = 0 while 0<nmoney<=1000: hbill = denominations[n] #error while nmoney>=hbill: #possible stem of error? bills.append(hbill) nmoney-=hbill print '+' + str(hbill) + ' ' + str(bills) + ' ' + str(nmoney) n+=1 print 'SWITCH from ' + str(hbill) print 'DONE' </code></pre> <p>我希望列表输出如下所示: <code>[1.0, 0.1, 0.1]</code> 然而,名单最终是这样的: <code>[1.0. 0.1, 0.5, 0.01, 0.01, 0.01, 0.01]</code></p> <p>~编辑: 当我使用1.3作为nmoney var时,得到了一个奇怪的输出。我只更改了第1行,但由于某种原因,变量中添加了一个非常小的数字。以下是输出文本的摘录:</p> <pre><code>SWITCH from 0.1 +0.05 [1.0, 0.25, 0.05] 4.16333634234e-17 SWITCH from 0.5 </code></pre> <p>中间行最右边的数字是nmomey。你知道吗</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>欢迎使用堆栈溢出。你的问题是,浮点运算在计算中不是“那么”精确。你知道吗</p> <p>1.2-1不是0.2。它是0.1999999999996。你知道吗</p> <p>0.1999999999996-0.1是0.09999999999995(不清楚是0.1)</p> <p>所以你的循环继续下去。你知道吗</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何添加虚拟方法
5 回答
如何添加表示整数的擦边字符串?
7 回答
如何添加要在Bokeh中使用的新font.ttf文件?
9 回答
如何添加要显示的矩阵XY轴编号和XY轴
4 回答
如何添加计数?
4 回答
如何添加计数器函数?
8 回答
如何添加计数器列来计算数据帧中另一列中的特定值?
3 回答
如何添加计数器来跟踪while循环中的月份和年份?
3 回答
如何添加计数并删除countplot的顶部和右侧脊椎?
6 回答
如何添加计时器wx.应用程序更新窗口对象的主循环?
5 回答
如何添加评论到帖子?PostDetailVew,Django 2.1.5
5 回答
如何添加评论拉梅尔亚姆
1 回答
如何添加诸如矩阵Python/Pandas之类的数据帧?
5 回答
如何添加谷歌地点自动完成到Flask?
8 回答
如何添加超时、python discord bot
1 回答
如何添加超过1dp的检查
3 回答
如何添加距离方法
9 回答
如何添加跟随游戏的敌人精灵
9 回答
如何添加路径以便python可以找到程序?
8 回答
如何添加身份验证/安全性以使用happybase访问HBase?
1 回答