python基础学习day3
字符串的操作
首字母大写 .capitalize()
全大写 .upper()
全小写 .lower()
大小写反转 .swapcase()
单词首字母大写 .s.title() 必须隔开(数字或者特殊字符)
空白填充 .center(width,'隔开字符')
-------------公共方法---------------
列表、元祖、集合、字典 都可以通用的方法
len(字符串) 查看长度
title 分割出来的文本首字母大写
startswith() 判断一个字符串以什么开头
find() 寻找一个元素 (找到返回下标,找不到返回-1)
index() 寻找一个元素(找到返回下标,找不到报错!)
strip('元素') 删元素(默认删除前后空格、)
lstrip('元素') 从左边删元素
rstrip('元素') 从右边删元素
count('元素') 数字符串中元素的个数
split('元素') 分割文本(默认空格)返回列表
format() 按照位置依次填写,占位符里面的内容,格式化输出
字符串里面用{0}占位
方法1
{}{}{}%s%s%s
format(name,age,hobby)
方法2
{name}{age}{hobby}format(name = , age = ,hobby = ,)
方法3
{0}{1}{2}
format(name,age,hobby)
replace('旧文本','新文本','次数') 替换文本
.isalnum() 判断字符串由字母或数字组成
.isalpha() 字符串只由字母组成
.isdigit() 字符串只由数字组成
for i in s: #有限循环
print(i)
基础数据类型
2.1数字int。
数字主要是用于计算用的,使用方法并不是很多,就记住一种就可以:
#bit_length() 当十进制用二进制表示时,最少使用的位数
v = 11
data = v.bit_length()
print(data)
2.2布尔值bool。
布尔值就两种:True,False。就是反应条件的正确与否。
真 1 True。
假 0 False。
2.3字符串str。
2.3.1、字符串的索引与切片。
索引即下标,就是字符串组成的元素从第一个开始,初始索引为0以此类推。
a = 'ABCDEFGHIJK'
print(a[0])
print(a[3])
print(a[5])
print(a[7])
切片就是通过索引(索引:索引:步长)截取字符串的一段,形成新的字符串(原则就是顾头不顾腚)。
复制代码
a = 'ABCDEFGHIJK'
print(a[0:3])
print(a[2:5])
print(a[0:]) #默认到最后
print(a[0:-1]) #-1就是最后一个
print(a[0:5:2]) #加步长
print(a[5:0:-2]) #反向加步长
复制代码
2.3.2、字符串常用方法。
View Code
2.4元祖tupe。
元组被称为只读列表,即数据可以被查询,但不能被修改,所以,字符串的切片操作同样适用于元组。例:(1,2,3)("a","b","c")
2.5列表list。
列表是python中的基础数据类型之一,其他语言中也有类似于列表的数据类型,比如js中叫数组,他是以[]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型比如:
li = [‘alex’,123,Ture,(1,2,3,’wusir’),[1,2,3,’小明’,],{‘name’:’alex’}]
列表相比于字符串,不仅可以储存不同的数据类型,而且可以储存大量数据,32位python的限制是 536870912 个元素,64位python的限制是 1152921504606846975 个元素。而且列表是有序的,有索引值,可切片,方便取值。
作业name = " aleX leNb "
# 1)移除 name 变量对应的值两边的空格,并输出处理结果
print(name.strip())
name = "aleX leNb"
# 2)移除name变量左边的’al’并输出处理结果
print(name.lstrip('al'))
# 3)移除name变量右面的’Nb’,并输出处理结果
print(name.rstrip('Nb'))
# 4)移除name变量开头的a’与最后的’b’,并输出处理结果
print(name.strip('ab'))
# 5)判断 name 变量是否以 "al" 开头,并输出结果
print(name.startswith('al'))
# 6)判断name变量是否以”Nb”结尾,并输出结果
print(name.endswith('Nb'))
# 7)将 name 变量对应的值中的 所有的“l” 替换为 “p”,并输出结果
print(name.replace('l','p'))
# 8)将name变量对应的值中的第一个’l’替换成’p’,并输出结果
print(name.replace('l','p',1))
# 9)将 name 变量对应的值根据 所有的“l” 分割,并输出结果。
print(name.split('l'))
# 10)将name变量对应的值根据第一个’l’分割,并输出结果。
print(name.split('l',1))
# 11)将 name 变量对应的值变大写,并输出结果
print(name.upper())
# 12)将 name 变量对应的值变小写,并输出结果
print(name.lower())
# 13)将name变量对应的值首字母’a’大写,并输出结果
print(name.capitalize())
# 14)判断name变量对应的值字母’l’出现几次,并输出结果
print(name.count('l'))
# 15)如果判断name变量对应的值前四位’l’出现几次,并输出结果
print(name.count('l',0,5))
# 16)从name变量对应的值中找到’N’对应的索引(如果找不到则报错),并输出结果
print(name.index('N'))
# 17)从name变量对应的值中找到’N’对应的索引(如果找不到则返回-1)输出结果
print(name.find('N'))
# 18)从name变量对应的值中找到’X le’对应的索引,并输出结果
print(name.find('X le'))
# 19)请输出 name 变量对应的值的第 2 个字符?
print(name[2])
# 20)请输出 name 变量对应的值的前 3 个字符?
print(name[0:3])
# 21)请输出 name 变量对应的值的后 2 个字符?
print(name[7::1])
# 22)请输出 name 变量对应的值中 “e” 所在索引位置?
print(name.index('e'))
# 23)获取子序列,去掉最后一个字符。如: oldboy 则获取 oldbo。
print(''.center(30,'-'))
方法1、
i = 0
name = "aleX leNb"
name1 = name[0:-1]
print(name1)
print(''.center(30,'-'))
方法2、
str1 = ''
while i < len(name)-1:
str1 = str1 + name[i]
i += 1
print(str1)
print(''.center(30,'-'))
方法3、
str1 = ''
for i in name:
if i == name[-1]:
break
else:
str1 = str1+i
print(str1)
print(''.center(30,'-'))
# 2,有字符串s = ‘132a4b5c’
# 1)通过对li列表的切片形成新的字符串s1,s1 = ‘123’
s = '132a4b5c'
s1 = s[s.index('1')] + s[s.index('2')] + s[s.index('3')]
print(s1)
# 2)通过对li列表的切片形成新的字符串s2,s2 = ‘a4b’
s2 =s[3:6]
print(s2)
# 3)通过对li列表的切片形成新的字符串s3,s3 = ‘1245’
s3 = s[s.index('1')] + s[s.index('2')] + s[s.index('4')] + s[s.index('5')]
print(s3)
# 4)通过对li列表的切片形成字符串s4,s4 = ‘3ab’
s4 = s[s.index('3')] + s[s.index('a')] + s[s.index('b')]
print(s4)
# 5)通过对li列表的切片形成字符串s5,s5 = ‘c’
s5 = s[-1]
print(s5)
# 6)通过对li列表的切片形成字符串s6,s6 = ‘ba3’
s6 = s[s.index('b')] + s[s.index('a')] + s[s.index('3')]
print(s6)
print(''.center(30,'-'))
# 3,使用while和for循环分别打印字符串s=’asdfer’中每个元素。
a = 'asdfer'
for i in a:
print(i)
i = 0
print(''.center(30,'-'))
while i < len(a):
print(a[i])
i += 1
# 4,实现一个整数加法计算器:
# 如:content = input(‘请输入内容:’) # 如用户输入:5+9或5+ 9或5 +
content = input('请输入内容:')
count = content.split('+')
print(int(count[0]) + int(count[1]))
# 5,计算用户输入的内容中有几个整数。
# 如:content = input(‘请输入内容:’) # 如fhdal234slfh98769fjdla
content1 = input('请输入内容:')
i = 0
count1 = 0
print(content1)
while i < len(content1):
if content1[i].isdigit():
count1 += 1
i+=1
print(count1)
print(''.center(30,'-'))
#大铁锤 小粉嫩问题
min1 = '大铁锤'
min2 = '小粉嫩'
while 1:
sr = input('请输入你想对我说的话')
if sr == '滚' or sr == 'gun':
print('你才滚呢!!!!! go out!!!')
break
# print(min1 in sr)
# print(min2 in sr)
# print((min1 in sr) or (min2 in sr))
if (min1 in sr) or (min2 in sr):
print('你输入的带有敏感词!')
continue
else:
print(sr)
break