【python】字符串(二)

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

一、基础知识

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

  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()

在这里插入图片描述

加油哦!💪。

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值