想计算机科学家一样思考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的主要内容,如果未能解决你的问题,请参考以下文章