|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 Nicole37 于 2023-10-17 21:05 编辑
看过编程的答案以后,再重新盲打一遍!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
字符串3:判断&检测:返回布尔类型值
- #startswith(),判断子字符串是否出现在字符串的起始位置
- x="cute guy~"
- x.startswith("c")
- True
- x.startswith("d")
- False
- #endswith(),判断子字符串是否出现在字符串的终点位置
- x.endswith("~")
- True
- #startswith(prefix[,start[,end]]),参数中有[],表示为可选参数
- x.startswith("c",1) #表示从下标1开始检索该字符串
- False
- x.endswith("e",0,3)#下标从0到3,判断是否为最后一个字符串
- False
- x.endswith("e",0,4)
- True
- #starswith和endswith支持对元祖进行判断:
- a = "蛋月烧的xu"
- if a.startswith(("蛋","奶","米")):
- print("yes")
-
- yes
- #对元祖中的一个元素匹配成功即可
- #istitle()判断字符串中的单词是否都以大写字母开头,其他字母均为小写
- a = "I Love Cute Guy"
- a.istitle()
- True
- #isupper()判断字符串是否所有的字母都是大写字母
- a.isupper()
- False
- #在python中一行语句调用多种方法,默认是从左往右执行
- a.upper().isupper()
- True
- #islower()判断字符串是否所有的字母都是小写字母
- a.islower()
- False
- #判断字符串中是否都由字母构成
- #isalpha() 判断字符串中是否都由字母构成
- a.isalpha()#空格不是字母
- False
- #isspace()判断是否为空白字符串:可以包括空格和tab
- b = " "
- b.isspace()
- True
- #isprintable()判断是否能打印:转义字符不能打印
- b.isprintable()
- True
- a.isprintable()
- True
- c = "\ni lien"
- c.isprintable()
- False
- #isdecimal() isdigit() isnumeric()三者用来判断数字
- #三者都有自己检测的尺度和范围
- # isalnum()判断是否为数字或字母的,isdecimal() isdigit() isnumeric()isalpha()有一个为真则返回true
- #isidentifier()判断字符串是否是合法的python标识符
- "i love pdf".isidentifier() #python标识符由字母数字下划线组成
- False
- "i_love_pdf".isidentifier()
- True
- "90jjj".isidentifier()#标识符不能以数字开头
- False
- #判断是否为python的保留标识符:用keyword的iskeyword()
- import keyword
- keyword.iskeyword("while")
- True
复制代码
0:我
1:false
2:忘啦
3:true
4:s.isalpha()
5:true ?
0:
- #注意:input本身输出的变量就默认为字符串类型,所以在输入时直接输字符串,不能在加双引号
- v1 = input("请输入text的内容:")
- v2 = input("请输入words的内容:")
- q = v2.count(" ")
- p = [0]*(q+1)
- c = v2.find(" ")
- if q==1:
- p[0] = v2[0:c]
- p[1]=v2[c+1::]
- if q==2:
- p[0] = v2[0:c]
- p[1]=v2[c+1:v2.find(" ",c+1)]
- p[2] = v2[v2.find(" ",c+1)+1::]
- a = len(v2)
- d = v1.count(v2)
- f = []
- for j in range(len(p)):
- for i in range(v1.count(p[j])):
- if v1.find(p[j],1+i*v1.find(p[j]))!=-1:
- f[j]=[v1.find(p[j],1+i*v1.find(p[j])),v1.find(p[j],1+i*v1.find(p[j]))+len(p[j])-1]
- print(f)
复制代码
1:- x = input("请输入一个由字母构成的字符串")
- a=x.find(x[0],1)
- s1=x[0:a] #子字符串 x[0:a]表示取下标从0到a-1
- b = x.count(s1) #子字符串在整体中出现的次数
- i = len(s1) #子字符串的长度
- n = len(x) #字符串的长度
- if n%i==0 and n/i==b:
- print(True)
- else:
- print(False)
复制代码
作业答案:
0:- x = "我爱Pyhon"
- x.startswith(["你", "我", "她"])
复制代码
会报错!:startswith(prefix[, start[, end]]) 方法的 prefix 参数支持字符串或者元组(如果是提供多个备选字符串,那么使用元组包裹)
1:\s不是转义字符
2:isdecimal()、isdigit() 和 isnumeric() 这 3 个方法都是判断数字的,那么请问这其中哪一个方法 “最严格”,哪一个又是 “最宽松” 的呢?
isdecimal() 方法是最严格的,只有真正意义上的数字才能得到 True;isnumeric() 方法是最宽松的,罗马数字、中文数字都不在话下
一般都是用于判断输入是否合法,能否进行下一步的运算,所以 isdecimal() 方法最严谨,使用的频率也相对会更多一些
3:- "一二三四五上山打老虎".isalnum()
- True
复制代码
isalnum() 方法则是集大成者,只要 isalpha()、isdecimal()、isdigit() 或者 isnumeric() 任意一个方法返回 True,结果都为 True。并且:isalpha() 方法判断的 “字母” 是 Unicode 编码中定义的字母,不止是 26 个英文字母
4:使用一行代码判断 s 字符串中,是否所有字符都是英文字母
x.isalpha() and x.isascii()
5:由于对 Unicode 编码的支持,Python 是可以使用中文作为合法标识符的。
动手:
0:- text = input("请输入text的内容:")
- words = input("请输入words的内容:")
- words = words.split()#important 直接按空格把单词分开放在列表中
-
- result = []
- for each in words:
- temp = text.find(each)
- while temp != -1: #用while,将结尾跳出作为条件
- result.append([temp,temp+len(each)-1])
- temp = text.find(each, temp+1) #每次放入一个后,从后一个开始在找坐标
- #先放入第一个,然后变换其中元素!
-
- print(sorted(result)) #sorted按照从小到大位置排序
复制代码
重点在x.split() |
|