Python学习笔记(九)--函数

#编写一个函数findstr(),该函数统计一个长度为2的子字符串在另一个字符串中出现的次数。
# 例如假定输入的字符串为:
# Don't aim for success if you want it; just do what you love and believe in, and it will come naturally
#子字符串为“it”,函数执行后打印:子字符串在目标字符串中出现2次。
方法1:
def findstr(x,y):
    lx=list(x)
    ly=list(y)
    num=0 #出现次数
    lengthx=len(x) #原始字符串长度
    lengthy=len(y) #字符串长度
    for i in range(lengthx):
        #print(i)
        if lx[i]==ly[0] and lx[i+1]==ly[1]:
            num+=1
    return num
x1=input("请输入原始字符串:")
y1=input("请输入要查找的字符串:")
num1=findstr(x1,y1)
print(y1,"在原始字符串中出现",num1,"次")

#列表,元组和字符串,他们之间的互相转换使用三个函数,str(),tuple()和list(),具体示例如下所示:
# >>> s = "xxxxx"
# >>> list(s)
# ['x', 'x', 'x', 'x', 'x']
# >>> tuple(s)
# ('x', 'x', 'x', 'x', 'x')
# >>> tuple(list(s))
# ('x', 'x', 'x', 'x', 'x')
# >>> list(tuple(s))
# ['x', 'x', 'x', 'x', 'x']
#列表和元组转换为字符串则必须依靠join函数
# >>> "".join(tuple(s))
# 'xxxxx'
# >>> "".join(list(s))
# 'xxxxx'
# >>> str(tuple(s))
# "('x', 'x', 'x', 'x', 'x')"


方法二:
def findstr(x,y):
    num=0 #出现次数
    lengthx=len(x) #原始字符串长度
    if y not in x:
        print("在目标字符串中未找到字符串")
    else:
        for i in range(lengthx-1):
            #print(i)
            if x[i]==y[0] and x[i+1]==y[1]:
                num+=1
        print(y1, "在原始字符串中出现%d次"%num)
x1=input("请输入原始字符串:")
y1=input("请输入要查找的字符串:")
num1=findstr(x1,y1)
# 编写一个函数power()模拟内建函数pow(),即power(x, y)为计算并返回x的y次幂的值。
#方法1
def power(x,y):
    m=1
    i=0
    while i <y:
        m=m*x
        i+=1
    return m

m1=power(2,3)
print(m1)

# 方法2
def power(x,y):
    result =1
    for each in range(y):  #range(y) #代表从0到y(不包含y)0,1,2
        print(each)
        result *= x
    return result
r1=power(2,3)
print(r1)
#编写一个函数,利用欧几里得算法求最大公约数,
# 例如gcd(x, y)返回值为参数x和参数y的最大公约数。

#http://blog.csdn.net/canhui_wang/article/details/50760510

def gcd(x, y):
    while y:
        t = x % y
        x = y
        y = t
    return x

print(gcd(8, 12))
#编写一个将十进制转换为二进制的函数,
# 要求采用“除2取余”的方式,
# 结果与调用bin()一样返回字符串形式。
def Dec2Bin(dec):
    temp = []
    result = ''
    while dec:
        quo = dec % 2
        dec = dec // 2
        temp.append(quo)
    while temp:
        result += str(temp.pop())
        return result

print(Dec2Bin(62))

往期笔记

Python学习笔记(1)

Python学习笔记(2)

Python学习笔记(3)

Python学习笔记(4)

Python学习笔记(5)

Python学习笔记(6)

Python学习笔记(7)

Python学习笔记(8)

原文发布于微信公众号 - 软件测试经验与教训(udatest)

原文发表时间:2017-12-20

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Python爬虫实战

numpy基础操作快速入门

由于numpy不是python自带库,需要自己下载安装(如果用的是Anaconda,则不需要再去下载numpy库,因为其自带python环境以及许多第三方pyt...

8310
来自专栏王肖的UT

GLSL-运算符和表达式

93230
来自专栏黑泽君的专栏

c语言基础学习05_数组和字符串

============================================================================= 涉及...

77010
来自专栏机器学习算法与Python学习

Python: numpy总结(2)

11、xrange 例子: for i in xrange(3): print i test=[1,2,3,4] print test...

33850
来自专栏coder修行路

用python实现计算1-2*((60-30+(-40/5)*(9-2*5/3+7/3*99/4*2998+10*568/14))-(-4*3)/(16-3*2))类似的公式计算

作业需求: 开发一个简单的python计算器 1、实现加减乘除及拓号优先级解析 2、用户输入 1 - 2 * ( (60-30 +(-40/5) * (9-2*...

50090
来自专栏数据科学与人工智能

【Python环境】Python Numpy数组及矩阵线性运算

numpy中数组的运算基本分为数组与标量的运算和数组之间的运算(线性运算)。 一、数组和标量之间的运算 数组与标量之间的运算采用的是矢量化运算,它可...

40480
来自专栏AI派

Numpy 修炼之道 (8)—— 常用函数

上一篇:Numpy 修炼之道 (7)—— 形状操作 在了解了 Numpy 的基本运算操作,下面来看下 Numpy常用的函数。 数学运算函数 按元素添加...

34250
来自专栏闻道于事

JavaScript之语句,循环

JavaScript中语句主要分为三类:顺序,分支,循环。 1.顺序语句: 按照循序依次执行,最普通常见的语句,这里不多赘述。 其结构如下 ? 2.分支语句: ...

26870
来自专栏chenjx85的技术专栏

leetcode-821-Shortest Distance to a Character

31060
来自专栏云瓣

探寻 JavaScript 精度问题

阅读完本文可以了解到 0.1 + 0.2 为什么等于 0.30000000000000004 以及 JavaScript 中最大安全数是如何来的。

9320

扫码关注云+社区

领取腾讯云代金券