Written by Neo
程式: ``` i=0 j=0 print('輸入i的值') i=input() print('輸入j的值') j=input() print(i+j) #問題處 ``` 看起來沒什麼問題 但是將i和j的數值都輸入成1之後 卻發現算出來的卻是11!? ### 問題: 1+1=11 從input中輸入的是⽂字 ⽽不是數字 ### 問題解析: 電腦把i和j中的變數內容看成⽂字 例如10不等於 '10' ⽽到了print(i+j)的時候 電腦會認為是兩段⽂字相連 所以會變成1+1=11 所以需要將⽂字轉為數字在進⾏運算: + **int()** 轉成整數 無法計算⼩數 只能計算整數 + **float()** 轉成浮點數 可以計算⼩數 但較整數來說比較耗性能 ``` i=0 j=0 print('輸入i的值') i=input() print('輸入j的值') j=input() print( int(i)+int(j) ) ``` 改成這樣之後,1+1才會等於2
沒有留言:
張貼留言