想计算机科学家一样思考python

Posted beautifulchenxi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了想计算机科学家一样思考python相关的知识,希望对你有一定的参考价值。

第五章 条件和递归

“//”代表向下取整除法

“%”求模操作符

 

判断互文的代码:

# -*- coding: utf-8 -*-

def first(word):

    return word[0]

def last(word):

    return word[-1]

def middle(word):

    return word[1:-1]

def huwen(word):

    if len(word)<=1:

        return True

    if first(word)!=last(word):

        return False

    else:

        return huwen(middle(word))

print(huwen(‘a‘))

print(huwen(afbhj))

print(huwen(adhsuia))

print(huwen(heeh))

 

def huwen(word1,word2):

    if len(word1) != len(word2):

        return False

    i=0

    j=len(word2)-1

    while j>0:

        if word1[i]!=word2[j]:

            return False

        i+=1

        j-=1

    return True

print(huwen(hkl, lkh))

 

def is_huwen(word):

    i=0

    j=len(word)-1

    while i<=j:

        if word[i]!=word[j]:

            return False

        i+=1

        j-=1

    return True

print(is_huwen(guug))

 

 

 

epsilon=0.0000001

 

 

用python写下面式子代码

 

# -*- coding:utf-8 -*-

import math

def jiecheng(n):

    if n==0:

        return 1

    else:

        b=jiecheng(n-1)

        c=n*jiecheng(n-1)

        return c

 

def estimatepi():

    d=(2*math.sqrt(2))/9801

    k=0

    total=0

    while True:

        e=(jiecheng(4*k))*(1103+26390*k)

        f=(jiecheng(k))**4

        g=f*(396**(4*k))

        total1=d*e/g

        total+=total1

        if abs(total1)<1e-15:

            break

        k+=1

    return 1/total

print(estimatepi())

 

两种遍历字符串的方法

 

Find用法

# -*- coding: utf-8 -*-

word=‘banana‘

print(word.find(na))#2  找第一次遇到字符串时的下标

print(word.find(na,3))#4  表示从哪一个下标开始查找

print(word.find(‘a‘,0,1))#-1 表示从哪个小标开始查找到哪个下表结束

 

 

找具有三个重复字母的单词

# -*- coding:utf-8 -*-

def liayiyang(word):

    count=0

    i=0

    while i<len(word)-1:

        if word[i]==word[i+1]:

            count+=1

            if count==3:

                return True

            i=i+2

        else:

            count=0

            i=i+1           

    return False

def wenjian():

    fin = open(‘C:\Users\chenxi\Desktop\words.txt‘)

    for line in fin:

        word=line.strip()

        if liayiyang(word):

            print(word) 

wenjian()

 

技术分享图片

以上是关于想计算机科学家一样思考python的主要内容,如果未能解决你的问题,请参考以下文章

像计算机科学家一样思考Python (第2版)pdf

像计算机科学家一样思考python笔记

像计算机科学家一样思考Python (第2版)高清PDF电子版下载

读《像计算机科学家一样思考python》——笔记

读《像计算机科学家一样思考python》——笔记(2/2)

编程学习之-用python3的方式思考