python核心编程第八章习题答案(1)

8-9  Fibonacci 数列. Fibonacci 数列形如 1, 1, 2, 3, 5, 8, 13, 21, 等 等. 也就是说, 下一个值是序列中前两个值之和. 写一个函数, 给定 N , 返回第 N 个 Fibonacci 数字

#Filename:test8-9.py

def Fibonacci(N):
    if N<=0:
        return -1
    elif N<=2:
        return 1
    else:
        return Fibonacci(N-1)+Fibonacci(N-2)  #递归处理

print Fibonacci(6)
    

8–10.   文本处理. 统计一句话中的元音, 辅音以及单词(以空格分割)的个数. 忽略元音和辅音的特殊情况, 如 "h", "y", "qu" 等. 附加题: 编写处理这些特殊情况的代码

#Filename:test8-10.py

import string
letters=set(string.uppercase)
vowels=set('AEIOU')
            
def dealtext():
    vlen=0
    clen=0
    
    text=raw_input("Enter text:").upper() 
    wlen=len([word for word in text.split()])
    tlen=sum([len(word) for word in text.split()])
    
    cqu=text.count('QU')		#统计特殊字符出现的次数,并将其过滤掉
    ch=text.count('H')
    cy=text.count('Y')
    #print cqu,ch,cy,tlen
    
    vlen=len([x for x in text if x in vowels])-cqu  #qu中'U'要从元音中排除
    clen=tlen-vlen-2*cqu-ch-cy			#排除'Q''U''H''Y'
   
    print wlen,vlen,clen
    
dealtext()
    


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值