基本数据类型(int,bool,str)
1.基本数据数据类型:
int 整数
str 字符串. 一般不存放大量的数据
bool 布尔值. 用来判断. True, False
list 列表.用来存放大量数据, []表示. 里面可以装各种数据类型.
tuple 元组. 只读列表. () 表示
dict 字典. {key:value}
set 集合. 不重复
什么是数据类型
int 1,2,3 用于计算
bool :True False 用户判断
str : “123456” “sdasdasd” “我是”
list:储存大量数据
["123","456","sdasdas",[1,2,3]]
元组:只读
(1,2,3,“大叔大婶多”)
dict :字典
{“name”:“alex”,“age”:23}
集合:
{1,2,3,4,“sadasd”}
int
.bit_length() 幢换二进制最小位数
bool #True False
int——————》》str
i=1
s=str(i)
str——————》》int 只要是0就是False 非0就是True
s=“123”
i=int(s)
i=3
s=bool(i)
while True:
pass
while 1: 效率高
pass
#str————》》boo 非空字符串都是True 空字符串都是False
s=“” ————》False
s=“0”————》True
#字符串的索引与切片
#索引
切片:顾头不顾尾
#s[首:尾:步长]
a =["wuchao" ,"jingxin" , "xiaohu" , "sanpang" ,"ligang","wuchao","ligang"] a.reverse() 从后往前排序 print(a) # print(a[0:])#取到最后 ['wuchao', 'jingxin', 'xiaohu', 'sanpang', 'ligang', 'wuchao', 'ligang'] print(a[1:-1]) ['jingxin', 'xiaohu', 'sanpang', 'ligang', 'wuchao'] print(a[1:-1:2]) ['jingxin', 'sanpang', 'wuchao'] print(a[3::-1]) ['sanpang', 'xiaohu', 'jingxin', 'wuchao']
字符串的操作
s = "alexWUsir" s1=s.capitalize()#首字母大写 print(s1) #Alexwusir
s2=s.upper() #全部转换大写 s3=s.lower() #全部转换小写 s4=s.swapcase() 大转小 小转大 s5=s.title()#每个隔开(特殊字符或者数字)的单词首字母大写
#s6=s.center(20) 在20个单位的空格里居中
#公共方法
len()
s="alexWUsir" 根据用户输入的信息 区分开头
s7=s.startswith("alex") True
s8=s.startswith("e",2,5) 以什么为开头结尾
s9=s.find("W") #find 用过元素找索引,找不到返回-1
print(s9)
s10=s.index("W") #index 通过元素找索引,找不到报错
print(s10)
s11=s.strip() #默认删除前后空格 货括号里面可以写要删除的东西
print(s11)
rstrip() 从右删
lstrip 从左删
s= "alexaa wusir" #字符串里 某个元素有几个
s12= s.count("a")
print(s12)
split 分割 str---->list
s = "alex;wusir;123"
l = s.split(";")
print(l)
s = "我叫{},今年{},爱好{},再说一下我叫{}".format("太白",36,"girl","太白")
print(s)
s1 = "我叫{0},今年{1},爱好{2},再说一下我叫{0}".format("太白",36,"girl")
print(s1)
s2 = "我叫{name},今年{age},爱好{hobby},再说一下我叫{name}".format(name="太白",age=36,hobby="girl")
print(s2)
s="来看看 街坊大叔大婶多街坊" #替换
s13=s.replace("街坊","老王",1)
#####is系列 name='taibai123' print(name.isalnum()) #字符串由字母或数字组成 print(name.isalpha()) #字符串只由字母组成 print(name.isdigit()) #字符串只由数字组成
作业
4,实现一个整数加法计算器:
如: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)
5,计算用户输入的内容中有几个整数。
如:content = input(‘请输入内容:’) # 如fhdal234slfh98769fjdla
s = input("请输入:") count = 0 for i in s: if i.isdigit(): count+=1 print(count)
作业:
# @Author :Administrator
# @Date :2019/1/4
# 1,写代码,有如下列表,按照要求实现每一个功能
# li = [‘alex’,’wusir’,’eric’,’rain’,‘alex’]
# 1)计算列表的长度并输出
# 2)列表中追加元素’seven’,并输出添加后的列表
# 3)请在列表的第1个位置插入元素’Tony’,并输出添加后的列表
# 4)请修改列表第2个位置的元素为’Kelly’,并输出修改后的列表
# 5)请将列表l2=[1,’a’,3,4,’heart’]的每一个元素添加到列表li中,一行代码实现,不允许循环添加。
# 6)请将字符串s = ‘qwert’的每一个元素添加到列表li中,一行代码实现,不允许循环添加。
# 7)请删除列表中的元素’eric’,并输出添加后的列表
# 8)请删除列表中的第2个元素,并输出删除的元素和删除元素后的列表
# 9)请删除列表中的第2至4个元素,并输出删除元素后的列表
# 10)请将列表所有得元素反转,并输出反转后的列表
# 11)请计算出‘alex’元素在列表li中出现的次数,并输出该次数。
# li = ["alex","wusir","eric","rain","alex"]
# print(len(li))
# li.append("seven")
# print(li)
# li.insert(0,"Tony")
# print(li)
# li.insert(1,"Kelly")
# print(li)
# l2=[1,"a",3,4,"heart"]
# li.extend(l2)
# print(li)
# s = "qwert"
# li.extend(s)
# print(li)
# li.pop(2)
# print(li)
# print(li.pop(1))
# print(li)
# del(li[1:4])
# print(li)
# li.reverse()
# print(li)
# print(li.count("alex"))
# 2,写代码,有如下列表,利用切片实现每一个功能
# li = [1,3,2,"a",4,"b",5,"c"]
# # 1)通过对li列表的切片形成新的列表l1,l1 = [1,3,2]
# l1=li[0:3]
# print(l1)
# # 2)通过对li列表的切片形成新的列表l2,l2 = [’a’,4,’b’]
# l2=li[3:6]
# print(l2)
# # 3)通过对li列表的切片形成新的列表l3,l3 = [’1,2,4,5]
# l3=li[0::2]
# print(l3)
# # 4)通过对li列表的切片形成新的列表l4,l4 = [3,’a’,’b’]
# l4=li[1:6:2]
# print(l4)
# # 5)通过对li列表的切片形成新的列表l5,l5 = [‘c’]
# l5 = li[-1:]
# print(l5)
# # 6)通过对li列表的切片形成新的列表l6,l6 = [‘b’,’a’,3]
# l6= li[-3::-2]
# print(l6)
# 3,写代码,有如下列表,按照要求实现每一个功能。
# lis = [2,3,"k",["qwe",20,["k1",["tt",3,"1"]],89],"ab","adv"]
# 1)将列表lis中的’tt’变成大写(用两种方式)。
# lis[3][2][1][0]="TT"
# print(lis)
# lis[3][2][1][0]=lis[3][2][1][0].upper()
# print(lis)
# 2)将列表中的数字3变成字符串’100’(用两种方式)。
# lis[3][2][1][1]="100"
# print(lis)
# lis[3][2][1][1]=str(lis[3][2][1][1]+97)
# print(lis)
# 3)将列表中的字符串’1’变成数字101(用两种方式)。
# lis[3][2][1][2]=101
# print(lis)
# lis[3][2][1][2]=int(lis[3][2][1][2])+100
# print(lis)
# lis[3][2][1][2]=int(lis[3][2][1][2]+"01")
# print(lis)
# 4,请用代码实现:
# lif = ["alex","eric","rain"]
# 利用下划线将列表的每一个元素拼接成字符串"alex_eric_rain"
# print("_".join(lif))
# 5,查找列表li中的元素,移除每个元素的空格,并找出以’A’或者’a’开头,并以’c’结尾的所有元素,
# 并添加到一个新列表中,最后循环打印这个新列表。
# li = ["taibai ","alexC","AbC ","egon"," Ritian"," Wusir"," aqc"]
# ll=[]
# for i in li:
# i = i.strip()
# if(i.startswith("A") or i.startswith('a')) and i.endswith('c'):
# ll.append(i)
# print(ll)
6.
开发敏感词语过滤程序,提示用户输入评论内容,如果用户输入的内容中包含特殊的字符:
敏感词列表 li = ["苍老师","东京热",”武藤兰”,”波多野结衣”]
则将用户输入的内容中的敏感词汇替换成***,并添加到一个列表中;如果用户输入的内容没有敏感词汇,则直接添加到上述的列表中。
li = ["苍老师", "东京热", "武藤兰","波多野结衣"] lst = [] content = input("请输入") for el in li: if el in content: content=content.replace(el,"*"*len(el)) lst.append(content) print(lst)
# 7,有如下列表li = [1,3,4’,alex’,[3,7,8,’taibai’],5,’ritian’]
# 循环打印列表中的每个元素,遇到列表则再循环打印出它里面的元素。
# 我想要的结果是(用三种方法实现):
# 1
# 3
# 4
# ‘alex’
# 3
# 7,
# 8
# ‘taibai’
# 5
# ritian
li = [1,2,3,5,"alex",[2,3,4,5,"taibai"],"afds"]
for i in li:
if type(i) ==list:
for k in i:
print(k)
else:
print(i)
for i in range(len(li)):
if type(li[i]) ==list:
for j in li[i]:
print(j)
else:
print(li[i])