我刚刚开始学习如何编码,而且我已经被分配了一个问题,我已经被困住了好几个小时了,并希望我至少可以得到一些提示来解决问题。这个练习的要点是练习除法和模数。我们可以使用基本的陈述,但没有什么像条件或任何东西,因为我们还没有达到这一点。
我需要用户从1 - 25输入#,然后我的程序会让他们知道该编号所在的单位和行。我已经设法让代码适用于行,但我无法想象如何获得单位号码。
这是我的代码:
{{1}}
我为单位尝试了很多东西,但没有一个能够解决问题,所以我把它留空了。我很感激任何人都可以给我的提示。谢谢你的帮助。
编辑:我意识到我应该尝试并至少展示我尝试过哪些想法。如果我使用#%5进行常规模运算,那么除了5的倍数之外,它一直适用于所有。我也试过实现每个#的行#,但是也没有任何地方。我也尝试了类似的东西,除以小数,将其转换为int,然后使用modulo但失败等等。\
编辑抱歉,我意识到我上传了错误的图片。
答案 0 :(得分:1)
如果所有内容都是从0而不是从1开始,这个问题会更容易。也就是说,如果行号和单位号是0到4而不是1到5,并且输入值是0到24而不是1到1 25。
在这种情况下,我们只写:
row = shelfNumber / 5
unit = shelfNumber % 5
因为一切都从1开始("是一个索引和#34;用通常的术语),shelfNumber
比一个公式需要的大一个,我们需要制作row
和unit
比我们计算的更大。
但修复它并没有问题:
row = (shelfNumber - 1) / 5 + 1
unit = (shelfNumber - 1) % 5 + 1
在Python 3中,您需要编写//
/
的{{1}},这将适用于最新的Python 2。