day12

上节课作业:

1、执行python脚本的两种方式

2、阐述位、字节的关系

3、简述ascii unicode utf-8 gbk之间的关系

4、请写出"李杰"分别用utf-8和gbk编码所占的位数

5、python单行注释和多行注释分别用什么?

6、声明变量注意事项有哪些

7、如有一下变量n1=5,请使用int的提供方法,得到该变量最少
bit_length

8、布尔值分别有什么
# "" => 假
# "ab" => 真

# 0 => 假
# 其他 => 真

a="123"
b=int(a)

a=123
b=str(a)

a=123
bool(a)
b="i"
bool(b)

9、阅读代码,请写出执行结果

a="alex"
b=a.capitalize()
print(a)
print(b)

请写出输出结果:
alex
Alex

10、写代码, 有如下变量,请按照要求实现每个功能
name="alex"

a.移除name变量对应的值两边的空格,并输出移除后的内容
v1=name.strip()
print(v1)

b.判断name变量对应的值是否以"al"开头,并输出结果
v2=name.startswith("al")
print(v2)

c.判断name变量对应的值是否以"x"结尾,并输出结果
v3=name.endswith("x")
print(v3)

d.将name变量对应的值中的"l"替换为"p",并输出结果
v4=name.replace("l","p")
print(v4)

e.将name对应的值根据"l"分割,并输出结果
v5=name.split("l")
print(v5)

f.请问上一题中e分割之后得到的值是什么类型?
字符串

g.将name变量对应的值变大写,并输出结果
v6=name.upper()
print(v6)

h.将name变量对应的值变小写,并输出结果
v7=name.lower()
print(v7)

i.请输出name变量对应的值的第二个字符
print(name[1])

j.请输出name变量对应的值的前三个字符
index=0
while index<3:
print(nane[index])
index+=1

21、字符串是否是可迭代对象?如可以使用for循环每一个元素?
for item in name: #只要能执行for循环,就是可迭代对象
print(item)

22、使用代码实现:
a.利用下划线将列表的每一个元素拼接成字符串,li="alexeri"
t="_"
b=t.join(li)
print(b)


b.利用下划线将列表的每一个元素拼接成字符串,li=["alex","eri","rain"]
c=t.join(li)

23、python2中的range和python3中的range的区别
2:
range 立即创建
xrange for循环时才一个一个创建

3:
for循环时才一个一个创建

range(100,1,-1)

24、实现一个整数加法计算器:
如:
content=input("请输入内容:") #如5+9或
v1,v2=content.split('+')
v1=int(v1)
v2=int(v2)
print(v1+v2)




25、计算用户输入的内容中有几个十进制小数?几个字母?
如:
content=input("请输入内容:") #如asduiaf87654321jkl
num1=0
num2=0
for item in content:
if "a"<=item<="z":
num1 +=1
if "0"<=item<="9"
num2+=1
print(num1,num2)


26、简述int和9等数字以及和"xxoo"等字符串的关系+

27、制作趣味模板程序
需求:等待用户输入名字、地点、爱好,根据用户的名字和爱好进行任意实现
test="敬爱的{a}最喜欢在{b}地方干{c}"
v=test.format(a=input("名字"),b=input("地点"),c=input("爱好"))
如:敬爱的xxx最喜欢在xxx地方干xxx

28、制作随机验证码
流程:
用户执行程序
给用户显示需要输入的验证码
用户输入的值
用户输入的值和显示的值相同时,否则继续生成随机验证码

29、开发敏感词语过滤程序,提示用户输入内容,如果用户输入的内容中包含特殊的字符;
如:"苍老师" "东京热"为***
v="asdadfg"
v=v.replace("s","***")
v=v.replace("a","***")
print(v)
30、制作表格
循环提示用户输入:用户名、密码、邮箱(要求用户输入的长度不超过20个字符,如果)
如果用户输入q或Q表示不再继续输入,将用户输入的内容以表格形式

s=""
while True:
v1=input(">>>")
v2=input(">>>")
v3=input(">>>")
temp="{a} {b} {c} "
v=temp.format(v1,v2,v3)
s+=v()

break
print(s.expandtabs(20))


list 列表 #类
li=[1,12,9,"age",["是正文","庞麦郎"],"alex"] #对象
#中括号括起来 ,分割每个元素 列表中元素可以是数字、字符串 可无限嵌套列表,布尔值 所有的都能放进去
#一个集合,内部可以放置任何东西

1、列表格式
2、列表可以嵌套任何类型



3、索引取值
print(li[3])
4、切片
print(li[3:5]) 子列表


5、#for循环
#while循环
for item in li:
  print(item)

#列表的元素可以被修改
li=[1,12,9,"age",["是正文","庞麦郎"],"alex"]
6、索引修改和删除
li[1]=120
print(li)

li[1]=[11,22,33,44]
print(li)

7、切片方式修改和删除
li[1:3]=[120,90]
print(li)

#删除 第一种方式
del li[1]
print(li)


del li[1:3]
print(li)

in操作
li=[1,12,9,"age",["是正文","庞麦郎"],"alex"]
v=12 in li
print(v)

9、操作
li=[1,12,9,"age",["是正文",["19",10],"庞麦郎"],"alex"]
li[4][1][0]


li=[1,12,9,"age",["是正文",["19",10],"庞麦郎"],"alex",True]

a="123"
int(a)
a=123
str(a)
#字符串转换列表 内部使用for循环
s="poiuytrewqasdfghjkl"
new_li=list(s)
print(new_li)
#列表转字符串 需要自己写for循环 既有数字又有字符串
li=[11,22,33,"123","alex"]
s=""
for i in li:
  s=s+str(i)
print(s)

列表中只有字符串 直接使用字符串join方法
li=["123","alex"]
v="".join(li)
print(v)

li=[11,22,33,44]
#参数
#v1=li.append(5)
#print(v1) #none
#print(li) #[11,22,33,44,5]
1、#原来值最后追加
li.append(5)
li.append("alex")
li.append([1234,2323])
print(li)

2 清空列表
li.clear()
print(li)

3 copy 浅拷贝
li.copy()
v=li.copy()
print(v)

4计算元素出现的次数
v=li.count(22)
print(v)

5扩展原来列表
li=[11,22,33,44]
li.extend([9898,"不得了"])
print(li)

li.extend("不得了")
print(li)


6根据值获取当前值索引位置(左边优先)
li.index(33)
print(li)

7在指定索引位置插入
li.insert(0,99)
print(li)

8默认删除某个值(指定索引或者默认最后一个)并获取删除的值
v=li.pop()
print(li)
print(v)

v=li.pop(1)
print(li)
print(v)

9删除列表中的指定值,左边优先
li.remove(33)
print(li)

#pop remove del li[0] del[7:9] clear

10将当前列表进行反转
li=[11,22,33,22,44]
li.reverse()
print(li)

11列表的排序
li=[11,44,22,33,22]
li.sort() #从小到大排
print(li)
li.sort(reverse=true) #从大到小排


补充:字符串创建之后,不可修改
v="alex"
v=v.replace("e","el")
print(v)

li=[11,11,33,44]
li[0]=999

s="alex"
s[0]="E" # 不可修改

列表,有序 元素可以被修改

列表
list

li=[111,22,33,44]

元组 元素不可被修改,不能增加或者删改
tuple
1、书写格式
tu=(111,22,33,44,) #一般写元组的时候,推荐后面加个逗号


2#索引
v=tu[0]
print(v)

3#切片
v=tu[1:3]
print(v)

4可以for循环 可迭代对象
for item in tu:
  print(item)


5转换
s="asfgg"
li=["asdf",1231]
tu=(123,123,"asdf")

v1=tuple(s)
print(v1)
v2=tuple(li)
print(v2)
v3=list(tu)
print(v3)

v4="".join(tu) #只含有字符串
自己写for循环

li.extend((11,22,33))

6#元组的一级元素不可修改
tu=(111,"alex",(11,22),[(33,44)],True, 33,44)
tu[0] #元素有序
tu[3][0][0] #取33

tu[3][0]=567 #可以
print(tu)

方法
count(22) 获取指定元素在元组中的次数
index(22)


#1字典结构
dict
  info={
  "k1":"v1", #键值对
  "k2":"v2"

}

#2 字典的value可以是任何值
info={
  "k1":18
  "k2":True
  "k3":[
    11,
    22'
    33'
    {
      "kk1":"vv1",
      "kk2":"vv2"
      "kk3":(11,22,33,44)
    }
    ]

  "k4":( )


}

print(info)


#3列表、字典不能作为字典的key
info={
  1:"asdf",
  "k1":"asdf",
  False:"123",
  #[11,22]:123 不行
  (  11,22):123


}
print(info)

#4字典无序


info={
  "k1":18
  "k2":True
  "k3":[
    11,
    [],
    ()
    22'
    33'
    {
      "kk1":"vv1",
      "kk2":"vv2"
      "kk3":(11,22,33,44)
    }
    ]

  "k4":( )

}

5索引方式找到指定元素

v=info["k1"]
print(v)


v=info["k3"][5]["kk3"][0] #11

#6字典支持del删除
del info["k1"]
print(info)

del info["k3"][5]["kk1"]

#7字典支持for循环

for item in info.keys():
  print(item) #输出key
for item in info.values():
  print(item) #输出值


for item in info.keys():
  print(item,info[item])
相当于
for k,v in info.items():
  print(k,v)

clear
copy
fromkeys

dic={
"k1":"v1",
"k2":"v2"

}
#根据序列,创建字典,并指定统一的值
v=dict.fromkeys(["k1",123,"999"],123)
print(v) #{123:123,"k1":123,"999":123}


v1=dic["k1"]
print(v1)
#根据key获取值,key不存在时,可以指定默认值(None)
v2=dic.get("k1",11111)
print(v2)

#删除并获取值
v=dic.pop("k1",90)
print(dic,v)

k,v=dic.popitem()
print(k,v)

#设置值,
如果已存在,就不设置,获取当前key对应的值
不存在,设置,获取当前key对应的值
v=dic.setdefault("k1","123")
print(dic,v)

#
dic.update({"k1":"111111","k3":"123"})
print(dic)

dic.update(k1=123,k3=456,k5="asdf")
print(dic)


keys()
values()
items()
get
update


整理

一、数字
int()

二、字符串
replace
find
join
strip
upper
lower
startswith
split
format

template="i am {name} age:{age}"
v=template,format(name="alex",age=19)
v=template,format(**{"name":"alex","age":19})

三、列表
append
extend
insert
索引 切片 循环

四、元组
忽略
索引 切片 循环 一级元素不能修改

五、字典
get
update
keys
items
values
for,索引

dic={
  "k1":"v1"
}
v="k1" in dic
print(v)

v="v1" in dic.values()
print(v)

六、布尔值
0 1
bool()

None "" () {} [] 0 ==False

 2018-08-15


原文地址:https://www.cnblogs.com/jiangjunfeng/p/9481566.html