此刻我正在学习Python,需要一些编码方面的帮助。
我必须创建一个程序来计算一定数量的物品所需的盒子数量。
这是完整的任务描述:
不同尺寸的盒子可以存储特定数量的物品。有 3种盒子:
- 大-最多可以存储5个物品
- 中等-最多可以存储3个物品
- 小-只能存储1个物品
程序应:
- 假设用户输入的任何大于5的整数,请让用户输入代表多个项目的整数。
- 计算存储项目所需的满箱最少数量。只允许装满箱子的盒子
- 显示使用的大,中,小盒子的数量
- 显示总箱数
这是我的代码:
if item >= 5 :
if item % 5 == 0 :
big = int(item / 5)
elif item % 5 > 0 :
big = int(item / 5)
remitem = item % 5
if remitem >= 3 :
if remitem % 3 == 0 :
med = int(remitem / 3)
if remitem % 3 >= 1 :
med = 0
elif remitem % 3 > 2 :
med = int(remitem / 3)
问题是,如果我输入18,它会给我正确的盒子数,但是如果我输入19,它就不会。
该如何解决?
我正在使用Python 3.5.2。
答案 0 :(得分:0)
这是最简单的答案
def printBoxes(item):
big = int(item/5)
remitem = item - big*5
med = int(remitem/3)
small = remitem - med*3
print "big - %s \nmedium - %s \nsmall - %s" % (big, med, small)
printBoxes(99)
答案 1 :(得分:0)
if item >= 5 :
if item % 5 == 0 :
big = int(item / 5)
elif item % 5 > 0 :
big = int(item / 5)
remitem = item % 5
if remitem >= 3 :
if remitem % 3 == 0 :
med = int(remitem / 3)
if remitem % 3 == 1 :
#modified this part of code
med = int(remitem/3)
small=1
elif remitem % 3 ==2 :
small=remitem
猜猜您错过了“小”框的代码。
答案 2 :(得分:0)
我认为您只是使问题变得更加复杂,使编码变得更加困难,使用模数%
和余数的路由,如果您使数学更简单,那么编码也会变得更加简单
num_items = int(input("Enter the number of items to store: "))
big = int(num_items/5)
med = int((num_items - big * 5)/ 3)
small = num_items - big * 5 - med * 3
total = big + med + small
print(f"\nBig boxes: {big}\nMedium boxes: {med}\nSmall boxes: {small}")
print(f"\nTotal Boxes : {total}")
输出
(xenial)vash@localhost:~/python$ python3.7 this.py Enter the number of items to store: 12 Big boxes: 2 Medium boxes: 0 Small boxes: 2 Total Boxes : 4