divmod 问题
A=1
G=7
aa,bb=divmod(A,7)
print("元素A的位置:第{0}行,第{1}列".format(aa+1,bb))
cc,dd=divmod(G,7)
print("元素G的位置:第{0}行,第{1}列".format(cc+1,dd))
G 的位置显示不对呀? 你的代码中,当使用 divmod(G, 7) 计算元素 G(值为7)时,返回的商是1,余数是0。按照你的格式化输出,会显示为第2行第0列,但这通常不是我们期望的结果(因为列数一般从1开始计数,且余数0表示前一行的最后一列)。
实际上,如果你想计算一个元素在具有7列的网格中的位置(假设元素编号从1开始,按行顺序排列),正确的做法是先对元素编号减1,然后再进行divmod运算。这样,余数的范围是0到6,分别对应第1列到第7列,商的行号也从0开始,加1后得到实际行号。
以下是修改后的代码:
A = 1
G = 7
aa, bb = divmod(A - 1, 7)
print("元素A的位置:第{0}行,第{1}列".format(aa + 1, bb + 1))
cc, dd = divmod(G - 1, 7)
print("元素G的位置:第{0}行,第{1}列".format(cc + 1, dd + 1))
运行结果:
元素A的位置:第1行,第1列
元素G的位置:第1行,第7列
这样,元素A和G的位置就都正确了。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 列数一般从1开始计数,先对元素编号减1,然后再进行divmod运算就好了
修改后:A = 1
G = 7
aa, bb = divmod(A - 1, 7)
print("元素A的位置:第{0}行,第{1}列".format(aa + 1, bb + 1))
cc, dd = divmod(G - 1, 7)
print("元素G的位置:第{0}行,第{1}列".format(cc + 1, dd + 1))
包OK的{:10_256:}
页:
[1]