亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么這兩個代碼結果不一樣?

https://img1.sycdn.imooc.com//5d4cee7d00014d4c07780362.jpg

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 第二個:不應該先計算括號里的嗎?

正在回答

4 回答

因為(x1 + x100)結果是299,如果僅僅是除以2,python的計算結果只會取整數部分149,余數1被舍棄了,再乘以n (即100)就得到14900。但是反過來299先乘以100再除以2,就可以得到準確的14950。如果想要兩個結果相同,把兩個代碼里面的2都改成2.0,用浮點數計算,兩個結果就都是14950.0了。(詳見3-8節)

4 回復 有任何疑惑可以回復我~
#1

qq_Thefaithofgl_0 提問者

我想問下:整數相除不是會得到浮點數嗎,為什么這里299除以2沒得到浮點數?
2019-08-09 回復 有任何疑惑可以回復我~
#2

Trapa 回復 qq_Thefaithofgl_0 提問者

整數相除,如果不能整除,答案保留整數商,余數舍棄,比如10/3得到3,5/2得到2
2019-08-09 回復 有任何疑惑可以回復我~
#3

qq_Thefaithofgl_0 提問者 回復 Trapa

// 才是保留商 % 保留余數
2019-08-09 回復 有任何疑惑可以回復我~
#4

Trapa 回復 qq_Thefaithofgl_0 提問者

那可能是版本不一樣,我2.7的是/保留商,%保留余數
2019-08-09 回復 有任何疑惑可以回復我~
#5

qq_Thefaithofgl_0 提問者 回復 Trapa

我試了下,這個輸出的也的確是149。謝謝你的回復!
2019-08-09 回復 有任何疑惑可以回復我~
#6

Trapa 回復 qq_Thefaithofgl_0 提問者

不客氣不客氣~
2019-08-10 回復 有任何疑惑可以回復我~
查看3條回復

http://img1.sycdn.imooc.com//5da01b8c00017a9c10070644.jpg

謝謝各位同事,我自己想還真的想不出來,特別希望大神們多多解答。

0 回復 有任何疑惑可以回復我~

分別比較了一下在python2和3下的運行結果,python3里面的/不會四舍五入,無法整除會得到浮點數,要取整需要用//,而2里面應該是直接取整

0 回復 有任何疑惑可以回復我~
#1

qq_Thefaithofgl_0 提問者

好的!
2019-08-15 回復 有任何疑惑可以回復我~

上面是n/2,下面是n,肯定不一樣啊

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
初識Python
  • 參與學習       758398    人
  • 解答問題       8967    個

學python入門視頻教程,讓你快速入門并能編寫簡單的Python程序

進入課程

為什么這兩個代碼結果不一樣?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號