看板 Python 關於我們 聯絡資訊
※ 引述《LessonWang (橘白Cat)》之銘言: : python新手發問 : j = 1 : a = 3 + j : b = 3 + 1j : 把a和b印出來 : 發現值不一樣 : 是什麼問題呢? : ----- : Sent from JPTT on my Asus ASUS_Z00UD. 這個問題有趣,是個初學者陷阱 https://docs.python.org/3.6/library/stdtypes.html#numeric-types-int-float-complex 短網址 https://goo.gl/8L8vGb 數字 + 'j' 是複數的表示法 ex: (3 + 2j) 3 + j 只是 "+" 的運算符號 3 + 1j 就變成複數了 我猜你要的寫法應該是 3 + 1*j 其實這只是好運,理論上應該要噴 SyntaxError 剛好你用到 j,如果是用 a 當變數 >>> 3a File "<stdin>", line 1 3a ^ SyntaxError: invalid syntax -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.239.49.61 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1497433449.A.A35.html
LessonWang: 哈囉我是原po 其實我知道1乘以j不能寫成1j的道理 那時 06/14 17:58
LessonWang: 候在寫這段程式碼 最主要是要測試變數名稱的合法性 因 06/14 17:58
LessonWang: 為變數不能以數字開頭 因此想要看看會不會出錯 結果沒 06/14 17:58
LessonWang: 出錯 後來 看了你給的文章 才曉得有複數這個東西 06/14 17:58
Sunal: built-in 複數應該比PHP更適合科學計算吧XD 06/14 18:54
HenryLiKing: 可是樓上 PhP可以直接用sqrt欸~好像很厲害的感覺! 06/14 20:48
darkgerm: Python 也有 a**0.5 和 math.sqrt() 啊... 06/14 22:05
uranusjr: 樓上沒跟上時事 06/15 00:37