#!/usr/bin/env pythondef isPrime(P): if P == 1 or P == 2: return True pt = 0 for i in range(1,P): if P%i == 0: pt += 1 if pt == 1: return True else: return Falseprint isPrime(1)print isPrime(2)print isPrime(3)print isPrime(8)print isPrime(29)print isPrime(33)print isPrime(97)print isPrime(110)
第5题#!/sur/bin/env pythondef getFactors(nu): if nu == 0: print [0] return if nu == 1: print [0,1] return print [i for i in range(1,nu+1) if nu%i == 0]getFactors(0)getFactors(5)getFactors(1)getFactors(2)getFactors(10)getFactors(20)getFactors(15)
第7题#!/usr/bin/env pythondef isPerfect(nu): if nu == 0: return True if nu == 1: return False db = [i for i in range(1,nu) if nu%i == 0] pt = 0 for i in db: pt += i if pt == nu: return True else: return Falseprint isPerfect(3)print isPerfect(6)print isPerfect(25)print isPerfect(7)print isPerfect(24)
第8题#!/sur/bin/env pythondef getFactorial(nu): if nu == 0: print nu return pt = 1 for i in range(1,nu+1): pt *= i print ptgetFactorial(5)getFactorial(10)getFactorial(1)getFactorial(0)
第9题#!/usr/bin/env pythondef sumList(nu): if nu <= 2: print 1 return db = [1,1] for i in range(2,nu): db.append(db[i-1]+db[i-2]) print db[nu-1]sumList(1)sumList(7)sumList(6)sumList(8)
第10题#!/usr/bin/env pythondef testLetter(strings): standLetter = "aeiouAEIOU" splitLetter = " " nuST = 0 nuSP = 1 for ch in strings: if ch in standLetter: nuST += 1 if ch in splitLetter: nuSP += 1 return [nuST,nuSP]print testLetter("Today is a good day.")
第11题#!/usr/bin/env pythonsplitLetter = ","n = 0wrongTimes = 0db = []while True: print "Please Input %d Name,'Q' To Quit:"%(n+1), nm = raw_input() if nm == "Q": break splitIndex = 0 for ch in nm: #check "nm" is on level or not if ch == splitLetter and nm[-1] != splitLetter: splitIndex = nm.index(ch) break if splitIndex == 0: print "It Isn't A Name That's On Level." wrongTimes += 1 continue else: n += 1 newName = nm[splitIndex+1:] + splitLetter + nm[0:splitIndex] db.append(newName)for nms in db: print nms
第12题#!/usr/bin/env pythondef printList(beginInt,endInt): db = [] for i in range(beginInt,endInt+1): ASC = None if i>=33 and i <=126: ASC = chr(i) db.append([i,bin(i),oct(i),hex(i),ASC]) for L in db: print Lprint "Please Input First Integer:",FI = int(raw_input())print "Please Input Last Integer:",LI = int(raw_input())printList(FI,LI)