鱼C论坛

 找回密码
 立即注册
查看: 676|回复: 1

[学习笔记] 零py-(ep-20)

[复制链接]
发表于 2023-10-17 20:58:23 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

头像被屏蔽
发表于 2023-10-23 13:58:35 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-23 08:10

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表