今天我们来学习如何判断字符串格式的内容,针对基础判断。


文章目录

  • 一、基础知识
  • 二、例题
  • (一)找元音
  • (二)判断电话号码合法


一、基础知识

我们先来看看一般会用到那些知识点:

  1. 当不需要使用到字符串下标时,遍历字符串,可以使用for in 循环,更方便:

for i in str://每次会申请 i 保存str[i]

  1. 需要用到字符串下标,那么用for更方便:

for i in range(len(x)):

  1. 在python中,要判断特定的值是否存在列表中,可使用关键字in,判断特定的值不存在列表中,可使用关键字not in。

in成员运算符 - 如果字符串中包含给定的字符返回 True ‘H’ in a 输出结果 True
not in 成员运算符 - 如果字符串中不包含给定的字符返回 True ‘M’ not in a 输出结果 True

  1. 通过len()函数返回字符串的长度,也可以求出列表长度

text=‘python’ ;len(text)

二、例题

(一)找元音

题目: 输入一个以换行结束的字符串, 统计并输出字符串中元音字母的个数(元音字母:‘A’,‘E’,‘I’,‘O’,‘U’ ,‘a’,‘e’,‘i’,‘o’,‘u’)。

示例: 输入:Hello Python ! 输出:3;(e,o,o 3个)

思路: 用列表存储元音字母,遍历字符串,用in关键字判断是否在列表中,存在count+1计数,最后输出count即可。

def main():
    vowel=['A','E','I','O','U','a','e','i','o','u']
    print("请输入一行字符串:")
    count=0
    str=input();
    for i in str:
        if(i in vowel):
            count+=1
    print("元音字母个数为:%d "%count)

main()

(二)判断电话号码合法

题目: 给定列表 x=[“13915556234”, “13025621456”, “15325645124”,“15202362459”],检查列表中的元素是否为移动手机号码,这里移动手机号码的规则是:手机号码共11位数字;以13开头,后面跟 4 、5 、6 、7 、8 、9 中的某一个;或者以 15 开头,跟后面跟 0 、1 、2 、8 、9 。

思路: 办法一样,进行字符串遍历,然后设置 if 判断即可

  • 先判断长度,不符合长度,直接退出循环。
  • 利用字符串保存列表的成员,对字符串进行判断即可,两种情况,只需要判断,s[0],s[1],s[2]的值即可。
  • 为了方便打印,设置flag数组,保存号码是否合法的标志,0不合法,1合法,最后只输出不合法的,那么只有【13915556234,15202362459】合法。
def main():
    x=["13915556234","13025621456","15325645124","15202362459"]
    flag=[0,0,0,0] #用来标识对应列表下标存储的电话号码是否合法
    a=['4','5','6','7','8','9'] #13开头的号码第3位取值范围
    b=['0','1','2','8','9']
    
    for i in range(len(x)):
        
        if(len(x[i])!=11):# 先判断长度
            break
        s=x[i] #用字符串保存x[i]
        if(s[0]=='1' and s[1]=='3'): #判断是否以13开头
            if(s[2] in a):
                flag[i]=1
        if(s[0]=='1' and s[1]=='5'): #判断是否以15开头
            if(s[2] in b):
                flag[i]=1
                
    for j in range(len(flag)):#输出合法号码
        if(flag[j]==1):
            print("%s是合法电话号码"%(x[j]))

main()

Python in not 字符串 python for i in 字符串_python

加油哦!💪。