練習題一:
實現isOdd()函數,參數為整數,如果整數為奇數,返回True,否則返回False。
函數實現:
def isOdd(a): if isinstance(a,int):#判斷輸入的數是否為整數 if a%2!=0: return True else: return False else: return False if __name__=='__main__': while True: a=eval(input()) print(isOdd(a))
調試結果:
難點突破:
本題難點在於判斷輸入的數據是否為整數,明白如何判斷后本題會簡單許多。判斷輸入的數據是否為整數有兩種方法,其一:a=int(input()),這種方法在輸入時就會判斷是否為整數,若是,會運行下一語句;若不是,則會報錯(ValueError)。其二便是該題我使用的方法isinstance(),這個方法除了判斷是否為整數外,還可以判斷是否為字符等。
練習題二:
實現isNum()函數,參數為一個字符串,如果這個字符串屬於整數、浮點數或復數的表示,則返回True,否則返回False。
函數實現:
def isNum(a): try: a=eval(a) return True except: return False if __name__=='__main__': while True: print(isNum(input()))
調試結果:
練習題三:
實現multi()函數,參數個數不限,返回所有參數的乘積。
函數實現:
def multi(a): num=1 for i in a: num*=i print(num) if __name__=='__main__': a=eval(input()) multi(a)
調試結果:
練習題四:
實現isPrime()函數,參數為整數,要有異常處理。如果整數是質數,返回True,否則返回False。
函數實現:
def isPrime(a): for i in range(2,a): if a%i==0: return False return True if __name__=='__main__': while True: try: print("請輸入整數:",end="") a=int(input()) print(isPrime(a)) except ValueError: print("輸入的數據不是整數,請重新輸入:")
調試結果:
難點突破:
本題難點在於異常處理,使用a=int(input()),在輸入階段系統捕獲異常狀態ValueError。