所以我正在寫一個is_prime函數,並且當我將參數設置爲一個float時,它會一直返回一個TypeError。如果num爲素數,則函數返回True。如果X只能被1和X整除,則數字X爲素數。可以認爲數字0和1是素數,如果num不是素數,則返回False。另外,如果參數不是整數或數字< 0,該函數應該返回None。我的素數函數保持返回一個TypeError
所以例子:
- 對於輸入參數「你好!」,應該返回None,因爲輸入參數是一個字符串
- 對於輸入參數「23」,它應該返回None,因爲輸入參數是一個字符串
- 對於輸入參數12.34,它應該返回None,因爲輸入參數是一個float。
- 對於輸入參數1,它應該返回True
- 對於輸入參數4,它應該返回False(數字4能被2整除)
所以這裏是我的代碼,我真的不知道什麼問題,任何幫助或批評將不勝感激......:
def is_prime(num):
if num is type(num) and type(str) and num < 0:
return None
for i in range(1, num):
if num % 2 == 0:
return False
else:
return True
它仍然返回類型錯誤:預期範圍()整數端參數,得到了浮動。 (1,num):「 – Dom
你應該只允許ints通過你的函數,其他的都應該返回None。看我的編輯。 – CoryKramer
仍然返回相同的浮點問題「它仍然返回一個」TypeError:range()整數結束參數預計,得到浮動。在行上「for i in range(1,num): – Dom