Python 编码练习:Timbits修复bug并通过所有测试
我已经研究这个程序有一段时间了,我似乎找不到代码的错误。我查过了号码,没问题。我几乎认为这是一个引号或括号。我将非常感谢你的帮助。代码如下:Python 编码练习:Timbits修复bug并通过所有测试,python,Python,我已经研究这个程序有一段时间了,我似乎找不到代码的错误。我查过了号码,没问题。我几乎认为这是一个引号或括号。我将非常感谢你的帮助。代码如下: # step 1: get the input timbitsLeft = int(input()) # step 2: initialize the total cost totalCost = 0 # step 3: buy as many large boxes as you can bigBoxes = int(ti
# step 1: get the input
timbitsLeft = int(input())
# step 2: initialize the total cost
totalCost = 0
# step 3: buy as many large boxes as you can
bigBoxes = int(timbitsLeft / 40)
totalCost = totalCost + bigBoxes * 6.19 # update the total price
timbitsLeft = timbitsLeft - 40 * bigBoxes # calculate timbits still needed
# step 4, can we buy a medium box?
if timbitsLeft >= 20:
totalCost = totalCost + 3.39
timbitsLeft = timbitsLeft - 20
if timbitsLeft > 10: # step 5, can we buy a small box?
totalCost = totalCost + 1.99
timbitsLeft = timbitsLeft - 20
# step 6
totalCost = totalCost + timbitsLeft * 20
print(totalCost)
这是我得到的错误:
没有通过测试。请检查下面的详细信息,然后重试。
测试用例1(共11个)的结果
输入:
10
程序在没有崩溃的情况下执行
程序输出:
200.0
预期此正确输出:
1.99
评分结果:输出行1的值为200.0,与预期值1.99不匹配。嗯,看起来您的错误是
if timbitsLeft > 10:
你的输入是10,所以你还有10个音色,
但是你需要超过10个才能深入到if声明中,
因此,除了:
totalCost = totalCost + timbitsLeft * 20
基本上就是这样
totalCost = 0 + 10 * 20
这确实是200
你可能需要
if timbitsLeft >= 10:
你的产量是200,因为你没有足够的钱买一个大盒子或中盒子。然后检查是否可以购买一个小盒子,但您只有10个音位,因此if语句,
if timbitsleet>10:#步骤5,我们可以购买一个小盒子吗?
,不是真的,因此您也不能购买小盒子。然后进行计算,得出值为200 您没有阅读提供给您的所有信息
小盒子的数字和一盒的价格是错误的
if timbitsLeft > 10: # step 5, can we buy a small box?
totalCost = totalCost + 1.99
timbitsLeft = timbitsLeft - 20 (<---- the problem. it should be: - 10)
如果timbitsLeft>10:#步骤5,我们可以买一个小盒子吗?
总成本=总成本+1.99
timbitsLeft=timbitsLeft-20(这里是cscircles“编码练习:Timbits”的解决方案
timbitsleet=int(input())#步骤1:获取输入
totalCost=0#步骤2:初始化总成本
#第三步:尽可能多地购买大盒子
如果timbitsLeft>=40:
bigboxs=int(timbitsleet/40)
totalCost=totalCost+Bigboxs*6.19#更新总价
timbitsLeft=timbitsLeft-40*大盒子#计算仍然需要的timbits
如果Timbitsleet>=20:#步骤4,我们可以买一个中号的盒子吗?
中音箱=整数(音箱左/20)
总成本=总成本+医疗箱*3.39
timbitsLeft=timbitsLeft-20*中型音箱
如果Timbitsleet>=10:#步骤5,我们可以买一个小盒子吗?
smallBoxes=int(timbitsLeft/10)
总成本=总成本+小盒子*1.99
timbitsLeft=timbitsLeft-小盒子*10
totalCost=totalCost+timbitsLeft*0.2#步骤6
打印(总成本)#第7步
这里没有足够的信息可以帮助我们。用你自己的话来说,这段代码应该做什么?你使用的是哪个版本的Python?你还应该努力遵循代码流程,逐行检查,看看各种输入类型会发生什么。在他的态度可能会对你有很大帮助。我认为这不是一个答案。OP想要“找出代码的错误”;我可以看到更正后的代码,但它有什么问题?
totalCost = totalCost + timbitsLeft * 20 (<---- the problem. it should be: *.2)
print(totalCost)