zoukankan      html  css  js  c++  java
  • Python字符串_循环和计数_方法

    一,循环和计数

    下面这个程序计算了字母 a 在一个字符串中出现的次数:

    $ cat b.py

    #!/bin/python

    word = 'banana'

    count = 0

    for letter in word:

        if letter == 'a':

           count = count + 1

        print(count)

    $ python3 b.py

    0    

    1   

    1

    2

    2

    3

    解释一下这个执行结果。

    循环开始,第1个字母为b,执行if条件,b不等于a,故不再执行累加语句count = count + 1,直接打印count的初始值0;

    循环第二次,字母为a,执行if条件,a等于a,执行累加语句count = 0 + 1,count值变为1;

    循环第三次,字母为n,执行if条件,n不等于a,故不再执行累加,count值仍然是1;

    循环第四次,字母为a,执行if条件,a等于a,执行累加语句count = 1 + 1,count值变为2;

    第五次,第六次依次类推,最终打印的count值是3,即赋值为word的字符串中有3个字母a。

    这一程序展示了另外一种计算模式,叫做计数。变量count被初始化为0,然后循环性地去找字母a,每次在字符串中找到一个a,就让count加1,当循环退出的时候,count就包含了 a 出现的总次数。

    二,字符串方法

    字符串提供了一些方法,这些方法能够进行很多有用的操作。方法和函数有些类似,也接收参数然后返回一个值,但语法稍微不同。

    比如,upper这个方法就读取一个字符串,返回一个全部为大写字母的新字符串。

    但是,与函数的 upper(word)语法不同,字符串方法的语法是 word.upper()

    >>> word = 'banana'

    >>> new_word = word.upper()

    >>> new_word

    'BANANA'

    这种用点号分隔的方法表明了使用的方法名字为upper,使用这个方法的字符串的名字为word。后面括号里面是空白的,表示这个方法不接收参数。我们可以说调用了word的upper方法。

    字符串还有一个方法叫find,看例子:

    >>> word = 'banana'

    >>> index = word.find('a')

    >>> index

    1

    在这里我们调用了word的find方法,然后给定了我们要找的字母 a作为一个参数,输出索引值为1。

    实际上,这个find方法比我们的find函数功能更通用,它不仅能查找字符,还能查找字符串:

    >>> word = 'banana'

    >>> word.find('na')

    2

    返回所查找字符串的第一个字符在‘banana’所在的索引位置。即'na'中n在字符串'banana'的索引位置是2。

    默认情况下 find方法是从字符串的开头查找,不过可以给它定义第二个参数,让它从指定位置查找:

    >>> word = 'banana'

    >>> word.find('na', 3)

    4

    即从第3个索引位置查找。

    另外,find 方法还能接收第三个参数,可以指定查找终止的位置:

    >>> name = 'jack'

    >>> name.find('a', 1, 2)

    1

    >>> name.find('a', 2, 4)

    -1

    第二个语句的搜索失败了,因为a并没有在索引2到4且不包括4的字符中间出现。搜索到指定的第三个变量作为索引的位置,但不包括该位置,这就让find方法与切片操作符相一致。

    结束。

  • 相关阅读:
    行列式的六条运算法则整理
    李昊大佬的CV模板
    洛谷P2918 [USACO08NOV]买干草(一道完全背包模板题)
    .
    洛谷P2822 组合数问题
    欧拉筛法模板&&P3383 【模板】线性筛素数
    拓展欧几里得算法
    欧几里得算法求最大公约数模板
    P2678 跳石头
    【五一qbxt】test1
  • 原文地址:https://www.cnblogs.com/liusingbon/p/13166226.html
Copyright © 2011-2022 走看看