[問題] 餘數問題

看板Python作者 (沒有真心就別談感情)時間2年前 (2022/03/02 22:18), 編輯推噓3(3011)
留言14則, 6人參與, 2年前最新討論串1/1
最近重新在學基礎的書籍, 但這邊實在完全看不懂, 為什麼10 % -3 會是-2 又為什麼-10 % 3會是2 即使書上有寫我還是看不懂 有上google查了一些都是英文網站看不是很懂 麻煩厲害的大大教學一下 ---------- 在这里,10 // 3为3,因为结果向下圆整,而3 × 3为9,因此余数为1。将9除以3时,结 果正好为3,没有向下圆整,因此余数为0。在需要执行之前菜谱指定的“每10分钟检查一 次”之类的操作时,这种运算可能很有用:只需检查minute%10 是否为0。(有关如何执行这种 检查,请参阅本章后面的旁注“先睹为快:if语句”。)从最后一个示例可知,求余运算 符也可用于浮点数。 这种运算符甚至可用于负数,但可能不那么好理解。 >>> 10 % 3 1 >>> 10 % -3 -2 >>> -10 % 3 2 >>> -10 % -3 -1 你也许不能通过这些示例一眼看出求余运算的工作原理,但通过研究与之配套的整除运算 可帮助理解。 >>> 10 // 3 3 >>> 10 // -3 -4 >>> -10 // 3 -4 >>> -10 // -3 3 基于除法运算的工作原理,很容易理解最终的余数是多少。对于整除运算,需要明白的一 个重点是它向下圆整结果。因此在结果为负数的情况下,圆整后将离0更远。这意味着对于 -10 // 3,将向下圆整到-4,而不是向上圆整到-3。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.116.228.113 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1646230739.A.B36.html

03/02 22:36, 2年前 , 1F
10//-3=-4 10=-3*-4-2,-10//3=-4 -10=3*-4+2
03/02 22:36, 1F

03/03 00:36, 2年前 , 2F

03/03 08:38, 2年前 , 3F
因為餘數在0和除數之間
03/03 08:38, 3F

03/03 09:12, 2年前 , 4F
看餘數wiki就知道了,那個關係根本不用絕對值吧
03/03 09:12, 4F

03/03 12:47, 2年前 , 5F
a%3 的結果只能是0,1,2
03/03 12:47, 5F

03/03 12:48, 2年前 , 6F
a%-3的結果只能是0,-1,-2
03/03 12:48, 6F

03/03 12:51, 2年前 , 7F
a%b=r 必須滿足(a-r)是b的倍數且r=0或r在0和b之間
03/03 12:51, 7F

03/03 15:06, 2年前 , 8F

03/03 15:17, 2年前 , 9F
如上圖,圖中上面的數字是除以3的餘數,下面的是除以-3
03/03 15:17, 9F

03/03 15:17, 2年前 , 10F
的餘數
03/03 15:17, 10F

03/03 16:21, 2年前 , 11F
依照定義的話 除數是負數的情況下 餘數是正是負都是對的
03/03 16:21, 11F

03/03 16:22, 2年前 , 12F
但在程式語言下 函式只能定好其中一個結果
03/03 16:22, 12F

03/03 22:10, 2年前 , 13F
但是為何要用會有兩個解的定義,有沒有數學系解釋一下
03/03 22:10, 13F

03/03 22:15, 2年前 , 14F
喔不用理上面那句,兩個都是對的所以只能這樣定義
03/03 22:15, 14F
文章代碼(AID): #1Y7tpJis (Python)