我必須編寫一個函數來查找給定的數字(num)是否在10的倍數的2之內。我使用模數(%)來獲得餘數,但它似乎沒有正常工作。幫幫我?Mod餘數:如果num是2的倍數10
def nearten(num):
if num%10<=2:
return True
elif num%10>2:
return False
我必須編寫一個函數來查找給定的數字(num)是否在10的倍數的2之內。我使用模數(%)來獲得餘數,但它似乎沒有正常工作。幫幫我?Mod餘數:如果num是2的倍數10
def nearten(num):
if num%10<=2:
return True
elif num%10>2:
return False
最重要的是,你只檢查,以「個位」數字是0,1,或2 - 你錯過了8和9
作爲造型筆記,不檢查一個布爾表達式,然後對剛剛找到的結果進行硬編碼。正如目前所寫,您的功能可以簡化爲:
def nearten(num):
return num%10 <= 2
您是否看到過這種方式?首先,elif檢查不會給你任何新的信息:你已經知道的結果必須是當你通過時,如果的條件。
然後,你的聲明讀起來像
if this condition is true, return true
otherwise, we know it's false; return false.
這是多餘的。你的程序中有一個True/False值,只需返回那個值,而不是使用常量。
維修...
我將離開這個作爲一個練習的學生:「內」 2意味着你必須檢查兩側,所以你必須拿起情況下個位數是8或9.你可以寫出表達式來做到這一點嗎?
哦,我的天啊!這使得現在更有意義,謝謝! – jay
def near_ten(num):
if num%10<=2 :
return True
elif num%10 >=8:
return True
else:
return False
歡迎來到StackOverflow。請閱讀並遵守幫助文檔中的發佈準則。 [最小,完整,可驗證的示例](http://stackoverflow.com/help/mcve)適用於此處。在發佈您的MCVE代碼並準確描述問題之前,我們無法爲您提供有效的幫助。 – Prune