python day 3
数据类型
int 1,2,3用于计算
bool:True,False,用户操作
str:存储少量数据,进行操作
list:
[1,2,3,"泰哥","12233312",[1,2,3]]
元祖:只读
(1,2,3,"第三方",)
dict:字典{"name":"云姐","age":16}
字典{'云姐':[],'二哥':[200,200,200,。。。。。。]}
集合:{1,2,34,'asdf'}
int str bool
i = 100
print(i.bit_length())
'''
bit_length
1 0000 0001 1
2 0000 0010 2
3 0000 0011 2
'''
bool True False
int---->str
i = 1
s = str(i)
str--->int
s = "123"
i = int(s)
int--->bool 只要是0----》False 非0就是True
i = 3
b = bool(i)
print(b) #True
bool--->int
True--->1
False--->0
ps:
while True :
pass
while 1 : #效率高
pass
str--->bool
s=""--->False
非空字符串都是True
s = "0"---->True
s
if s :
print("你输入的为空,请重新输入")
else:
pass
字符串的索引与切片
s = "ABCDLSESRF"
#索引
s1 = s[0]
s2 = s[2]
s3 = s[-1]
s4 = s[-2]
#切片 :顾头不顾尾
s5 = s[0:4]
s6 = s[0:-1]
s7 = s[:]
s8 = s[0:]
s9 = s[0:0]
s = "ABCDLSESRF" #s[首:尾:步长]
s10 = s[ 0:5:2]
s11 = s[4:0:-1]
s12 = s[3::-1]
s13 = s[3::-2]
s14 = s[-1::-1]
s15 = s[::-1]
字符串的操作
s = "alexWUsir"
首字母大写
s1 = s.capitalize()
全大写,全小写
s2 = s.upper
s3 = s.lower
每个单词的首字母大写
s4 = s.title()
大小写翻转
s5 = s.swapcase()
居中,空白填充
s6 = s.center(20,"*")
数字符串中元素出现的个数
s7 = s.count("al")
以什么开、头结尾
s8 = s.startswith("al",2,4) #判断是否以。。。开头 取值范围顾头不顾尾
s9 = s.endswith("ir") #判断是否以。。。结尾 取值范围顾头不顾尾
find 通过元素找索引,找不到返回-1
s10 = s.find("2") #寻找字符串中的元素是否存在 存在的话就返回元素的位置,不存在就返回-1
index通过元素找索引,找不到报错
s11 = s.index("2") #寻找字符串中的元素是否存在 存在的话就返回元素的位置,不存在就报错
分割
s = "alex,WUsir,jinxing"
s12 = s.split(",") #以什么分割 并返回一个列表
默认删除前后空格
s13 = s.strip()
s14 = s.lstrip()
s15 = s.rstrip()
格式化输出
#format的三种玩法 格式化输出
# s12 = '我叫{},今年{},爱好{},再说一下我叫{}'.format("王森",30,"girls","王森")
# print(s12)
# name = input('请输入名字:')
# s13 = '我叫{0},今年{1},爱好{2},再说一下我叫{0}'.format(name,30,"girls")
# print(s13)
# name = input('请输入名字:')
# s14 = '我叫{name},今年{age},爱好{hobby},再说一下我叫{name}'.format(age=30,name =name,hobby="girls")
# print(s14)
替换
s = 'alexWalalUsir'
s15 = s.replace("al","bl",1) #格式 (old,new,替换次数)不屑次数默认全部替换
print(s15)
is系列s = 'alexWUsir'
s19 = s.isalpha()
print(s19)
s = 'alexWUsir22'
s20 = s.isdigit()
print(s20)
s = 'alexWUsir21'
s21 = s.isalnum()
print(s21)
s = 'fhdsklfds'
for i in s :
print(i)
s = 'fdsa苍井空fdsalk'
if "苍井空" in s :
print("非法字符")
作业
1.使用while和for循环分别打印字符串s=’asdfer’中每个元素。
s = "asdfer"
count = 0
while 1 :
print(s[count])
count += 1
if count == len(s) :
break
s = "asdfer"
for i in s :
print(i)
2.如:content = input(‘请输入内容:’) # 如用户输入:5+9或5+ 9或5 + 9,然后进行分割再进行计算。
#方案一
content = input("请输入内容:").strip()
index = content.find("+")
a = int(content[0:index])
b= int(content[index+1:])
print(a + b)
#方案二
content = input("请输入内容:").strip()
con1 = content.split("+")
num = 0
for i in con1 :
num += int(i)
print(num)
3.咱们任意输入一串文字+数字 统计出来数字的个数
s = input("请输入:")
count = 0
for i in s :
if i.isdigit() :
count += 0
print(count)