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
- 'int32_t' does not name a type
- error: invalid type argument of unary ‘*‘ (have ‘int‘) *__first = __tmp;Error
- Price Control V or S in material type
- (int)a、&a、(int)&a、(int&)a的區別
- int[] 、 list<int> 、 list<int>[] 的區別
- C語言之int *f()、int(*f)()、int *a[]、int (*a)[] 區別小記C語言
- labelme2coco問題:TypeError: Object of type 'int64' is not JSON serializableErrorObjectJSON
- java 反射 報錯:Attempt to get java.lang.Integer field "..." with illegal data type conversion to intJava反射
- [翻譯]The Neophyte's Guide to Scala Part 12: Type ClassesGUIIDE
- extern int a 和int a的區別
- MySQL int(11)及int(M)解析MySql
- 強制型別轉換(int)、(int&)和(int*)的區別型別
- C++ const int * ; int * constC++
- 【C++】陣列指標與error: lvalue required as increment operandC++陣列指標ErrorUIREM
- Mysql中 int(10)和int(11)的區別MySql
- EntityBean : 有一個方法: public int ejbFindByPrimary(int id){Bean
- variable: Type 與 Type variable
- TKMySQL中int?(10)?和?int?(11)?的區別zceMySql
- Int -> List | List -> Int _ CodingPark程式設計公園程式設計
- Value Type vs Reference Type in SwiftSwift
- VS編譯器基礎 int main(int argc,char* argv[])編譯AIGC
- Swift Int to StringSwift
- java 字串轉intJava字串
- C# Int To ChineseC#
- #define int Modint<11>
- mysql int(3)與int(10)的數值範圍相同嗎?MySql
- MySQL 中 int (10) 和 int (11) 到底有什麼區別?MySql
- Type in Chakra
- INT型別知多少型別
- char轉換成int
- sql int 轉換varcharSQL
- 翻轉int陣列陣列
- Output type SPED trigger inbound delivery after PGI for inter-company STO's outb
- HITSC_4_Data Type and Type Checking
- C# modbus RTU 中使用到的 ushort[] 轉 int 與 int 轉 ushort[]C#
- Golang Cannot use ss(type AAA) as type AAA in map indexGolangIndex