Python-unsupported operand type(s) for %: 'builtin_function_or_method' and 'int'
今天在python 3中測試上面的程式碼,報錯 if(number % 2 == 0):
TypeError: unsupported operand type(s) for %: 'builtin_function_or_method' and 'int'
開始考慮可能number是保留字,導致識別成內部的方法,網上也有類似的例子
#-*- coding : utf-8 -*- i = 0 while i <= 100: sum += i i += 1 print(sum)
sum沒有定義,導致同樣的錯誤,TypeError: unsupported operand type(s) for %: 'builtin_function_or_method' and 'int',我的例子中新增了number=0還是抱相同的錯誤,讓我開始考慮這並不是相同的問題,從錯誤出發,程式碼把number識別成一個內部的方法,向上找到number的賦值-number=numbers.pop,發現問題出現在pop後面沒有括號,如果沒有()表示把pop方法賦值給number,而不是把返回值給number,導致程式碼認為number是一個內部方法,不能做%運算,修改後執行正常。
PythonCode/test.py
單數有: [39, 7, 5, 37]
雙數有: [68, 72, 6, 8, 42, 12]
注:pop() 函式用於移除列表中的一個元素(預設從最後一個元素開始),並且返回該元素的值
python3裡面有很多類似的細節問題,感覺還是要從初始錯誤的描述開始,另外養成正確的程式設計習慣也很重要,尤其是 從python2過度到python3的使用者。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/11289933/viewspace-2682039/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- unsupported operand type(s) for +: ‘range‘ and ‘list‘
- cannot convert (type interface {}) to type int: need type assertion
- error: invalid type argument of unary ‘*‘ (have ‘int‘) *__first = __tmp;Error
- labelme2coco問題:TypeError: Object of type 'int64' is not JSON serializableErrorObjectJSON
- int[] 、 list<int> 、 list<int>[] 的區別
- C語言之int *f()、int(*f)()、int *a[]、int (*a)[] 區別小記C語言
- 素數判定(int sushu(int n))
- 強制型別轉換(int)、(int&)和(int*)的區別型別
- Output type SPED trigger inbound delivery after PGI for inter-company STO's outb
- Int -> List | List -> Int _ CodingPark程式設計公園程式設計
- TKMySQL中int?(10)?和?int?(11)?的區別zceMySql
- HITSC_4_Data Type and Type Checking
- #define int Modint<11>
- mysql int(3)與int(10)的數值範圍相同嗎?MySql
- MySQL 中 int (10) 和 int (11) 到底有什麼區別?MySql
- 巧用python“int”函式Python函式
- char轉換成int
- python ascii int互換PythonASCII
- INT型別知多少型別
- 翻轉int陣列陣列
- Activity 中的方法 findViewById(int) 和 AppCompatActivity 中的方法 findViewById(int) 都匹配...ViewAPP
- C# modbus RTU 中使用到的 ushort[] 轉 int 與 int 轉 ushort[]C#
- JavaScript select typeJavaScript
- oracle enqueue typeOracleENQ
- type.jsJS
- Pytorch框架之tensor型別轉換(type, type_as)PyTorch框架型別
- Go 語言 big.IntGo
- BIOS INT 10中斷功能iOS
- int和Integer的區別
- C++中vector<int>& numsC++
- int存放到void指標指標
- Integer轉int出現NullPointExceptionNullException
- int與Integer的區別
- int/double資料範圍
- python的int怎麼用Python
- C語言 關鍵字const的作用 const int* 和int *const 的區別C語言
- Go 中 type var string 和 type var = string 的區別Go
- JavaScript event.typeJavaScript