[093]python_ch8(條件、循環)-練習題

此解答因為限於排版,所以很多縮排是有誤的,得再去此網址深入查詢答案,

github正確排版答案


ex8-1

(a) statement C

(b) statement D

(c) statement B


ex8-2

from_value=int(input("(f)rom:"))

to_value=int(input("(t)o:"))

increment_value=int(input("(i)ncrement:"))

for num in range(from_value,to_value,increment_value):

print num


ex8-3

print 'cList',cList

aList=[]

bList=[]

cList=[]

for i in range(10):

aList.append(i)

for i in range(3,19,3):

bList.append(i)

for i in range(-20,861,220):

cList.append(i)

print'aList',aList

print'bList',bList


ex8-4

def isprime(num):

count=num/2

while count>1:

if num%count==0:

return True

break

count-=1

else:

returnFalse

for i in range(100,200):

print i,isprime(i)


ex8-5

def getfactors(num):

aList=[]

count=num/2

while count>1:

if num%count==0:

aList.append(count)

count-=1

count-=1

return sorted(aList)

for i in range(20,40):

print i,':',getfactors(i)


ex8-6

if num%i==0:

#coding=utf-8

def get_prime_factors(num):

return[i for i in range(1, num+1) if num%i==0 and isprime(i)]

def isprime(num):

if num<=1:

return False

count=num/2

while count>1:

if num%count==0:

return False

count-=1

else:

returnTrue

def getfactors(num):

aList=[]

if isprime(num) or num<=1:

aList=[1,num]

return aList

factors=get_prime_factors(num)

while num not in factors:

for i in range(2,(num/2)+1):

num=num/i

aList.append(i)

break

else:

aList.append(num)

return aList

for i in range(1,30):

print getfactors(i)


ex8-7

def get_factors_no_self(num):

return[i for i in range(1, num)if num%i==0]

def is_perfect(num):

if num==sum(get_factors_no_self(num)):

return1

else:

return0

fori in range(1,30):

print i,is_perfect(i)


ex8-8

def getvalue(num):

count=num

total=1

while count>=1:

total=total*num

num=num-1

count-=1

returntotal

for i in range(1,11):

print i,getvalue(i)


ex9-9

def fibibonacci(n):

if n==1 or n==2:

return1

else:

return fibibonacci(n-1)+fibibonacci(n-2)

for i in range(1,100):

printi,fibibonacci(i)


ex8-10

#coding=utf-8

vowels='aeiou'

cosonants='bcdfghjklmnpqrstvwxyz'

def stat(sentence):

word_num=len(sentence.lower().strip().split(""))

vowels_num=0

cosonants_num=0

for c in sentence:

if c in vowels:

vowels_num+=1

elif c in cosonants:

cosonants_num+=1

else:

pass

return(word_num,vowels_num,cosonants_num)

def main():

sentence='Hello i am Bryan iiiI!'

print sentence

print"There are %d words,%d vowels and %d consonants."%stat(sentence)

if__name__=='__main__':

main()

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 14,349评论 0 33
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,899评论 18 399
  • PYTHON-进阶-ITERTOOLS模块小结转自wklken:http://wklken.me/posts/20...
    C_Y_阅读 4,697评论 0 2
  • 今天突发奇想,快到过年了我是不是应该总结一下2016,一口气写完那就太长了,不如分开几天写,当系列来写(哈哈其实系...
    承思而行阅读 1,508评论 1 1
  • ​ 几天前,行者小强说,新书发布会,让我代表书友发个言。我心里忐忑了一下,想:要上台发言?这么难的事,交给我,简直...
    小考拉俱乐部阅读 3,060评论 0 0