今天我们来学习如何判断字符串格式的内容,针对基础判断。
文章目录
- 一、基础知识
- 二、例题
- (一)找元音
- (二)判断电话号码合法
一、基础知识
我们先来看看一般会用到那些知识点:
- 当不需要使用到字符串下标时,遍历字符串,可以使用for in 循环,更方便:
for i in str://每次会申请 i 保存str[i]
- 需要用到字符串下标,那么用for更方便:
for i in range(len(x)):
- 在python中,要判断特定的值是否存在列表中,可使用关键字in,判断特定的值不存在列表中,可使用关键字not in。
in成员运算符 - 如果字符串中包含给定的字符返回 True ‘H’ in a 输出结果 True
not in 成员运算符 - 如果字符串中不包含给定的字符返回 True ‘M’ not in a 输出结果 True
- 通过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()
加油哦!💪。