Python_ Day 2

数据类型

——整数(int类) 1  99  90

——布尔值(bool类)True False

——字符串 (str类)  ” 西瓜”   “南瓜 “

——列表(list类)可变的容器  App = [“AA”,”BB”, “12356”]   [11,52,33,56,79,”abc”]

——元组(tuple类)(”ABC”, “安保处”, “侃侃而谈”)

——字典(dict类){“name”, “age”,”degree”,”address”}   {“app”,”apc”,”def”,”ccd”}

======>相同类的值(指定类的对象)具有相同的功能,功能保存在类中(只有1份)

补充

1.运算符—— in; not in

value = “我是中国人”

# 判断‘中国’是否在value锁止带的字符串中。‘中国’是否是value 所只带的字符串的子序列

v1 = “中国” in value

eg.

content = input ("请输入内容")
if "退钱" in content:
    print ("包含敏感词汇")
else:
    print (content)

2.优先级

符号优先级大于not

eg: 

(1)用户3次登录并提示次数:(n=1,+1; n=2,-1)

num = 3
while num > 0:
    user_name = input ("请输入用户名:")
    password = input ("请输入密码:")
    num = num - 1
    if user_name == "alex" and password == "alex123456":
        print ("登录成功")
        break
    else:
        print ("登录失败,你的剩余次数为:%d次" % (num,))

(2)猜年龄(3次):如果3次,提示是否继续,Y——继续;N——跳出

n = 3
while n > 0:
    age = int (input ("请输入年龄:"))
    if age != 26:
        print ("猜错了")
        n = n - 1
        if n == 0:
            content = input ("3次机会已用完,是否继续玩游戏(N/Y):")
            if content.upper () == "N":
                break
            elif content.upper() == "Y":
                n = 3
            else:
                input ("输入错误,请重试!")
    else:
        print ("猜对了")
        break

三、今日学习内容

1.整数型(int)

数字的占位符 %d

整数除法保留所有

v=2
v.bit_length() #二进制长度

2.布尔值

False: 0 和 空字符串

True: 其他

3.字符串

A.upper(), lower() # 用于定义验证码,部分大小写

B.isdigit()

#用于判断输入的字符串里字数的个数

val.isdigit () # 结果为布尔类型

C.strip(); lstrip();rstrip()#清除空格

D.replace (‘被替换的字符/子序列’, ‘要替换的内容’)

 .replace (‘被替换的字符/子序列’, ‘要替换的内容’,1) # 替换第1个

E.split(‘根据什么东西分割’);split(‘根据什么东西分割’,1),rsplit ();切割后成‘列表’

总结:

①字符串的几个关键作用(upper/lower; isdigi; strip/lstrip/rstrip; split/rslipt; replace)

eg.

check_code = "iyKY"
meg = "请输入验证码%s: % (check_code),"
code = input (meg)
if code.upper () == check_code.upper():
    print ("正确")
else:
    print ("错误")
### 10086
判断是否为数字:num.isdigit ()
判断input 是否为数字
falg = num.isdigit () #结果为bool值
###去掉两边字符串的空格
user=input('pls enter: ')
user.rstrip () #去掉右边空格
user.lstrip () #去掉左边空格
user.strip () #去掉两边空格
###输入的姓名全部大写
print ('---》'(user.strip()).upper '《---')
###字符串替换
meg = input ('pls enter: ')
print (meg.split(','))# 根据逗号进行切割,输入列表
print (meg.rsplit(',',1))# 从左往右切割,切割1次

②len,计算长度(计算字符串中的字符个数)and 索引值

###索引值(从0开始)
V = 'prettyboy'
v1= v[0]
v2= v[1]

###计算字符串长度,索引取值: len()
v = 'alex'
print (len(v))

eg.
text = input ('pls enter: ')
index_len = len(text)
index=0
while True:
    val = text [index] #索引取值,从0开始;负数从后向前取值
    print (val)
    if index == index_len - 1:
    break
index+=1

③切片(从0开始)

v= 'prettyboy'
v1 = v[2:4]
注意:取头不取尾

###字符串切片
根据索引值取值:

v= 'prettyboy'
v1=v[2,3] # 取前不取后
v2=v[3:] #索引3后面的全部
v3=v[:-1]#从倒数第二到前面所有

data = input ('pls enter name: ')
方法一:
data[-2:0] #取后面2个字符
方法二:
data[total_len-2:total_len] # total_len = len(data)
让用户输入任意字符串,获取字符串后计算字符串中有多少个数字
total = 0
text = input ("请输入内容:")
index_len = len(text)
index = 0
while True:
    val = text [index]
    flag = val.isdigit()
    if flag:
        total = total + 1
    elif index == index_len - 1:
        break
    index += 1

4.列表

 ——可变容器 list

V=[11,22,25,41,"江湖"]

(1)为当前对象提供的功能

A.在列表的尾部追加一个值(修改本身的值)

V.append ("宝剑")
print (V)
v= []
while True:
    name = input ("pls enter name: ")
    if name.lower () == "q":
        break
    v.append (name)
    print (v)

B.在指定的位置插入数据

v=[11,21,33,15,"辣椒"]
v.insert(3,"洋葱")
print(v)

C.替换或修改

v= ["鸡蛋","西红柿","土豆","青菜","黄瓜","豆腐"]
# 替换1条
v[3] = "茄子"
print(v)
# 替换几条 
v= ["鸡蛋","西红柿","土豆","青菜","黄瓜","豆腐"]
v[1:3] = ["西瓜","南瓜","白菜"]
print(v)

D.删除

# 删去1条
v= ["鸡蛋","西红柿","土豆","青菜","黄瓜","豆腐"]
del v[2]
print(v)
# 删去2以上条
v= ["鸡蛋","西红柿","土豆","青菜","黄瓜","豆腐"]
del v[1:3]
print(v)

E.转置

v= ["鸡蛋","西红柿","土豆","青菜","黄瓜","豆腐"]
v.reverse()
print(v)

(2)公共用处

F.通过索引取值(与字符串相同)

# 取单个值
v= ["鸡蛋","西红柿","土豆","青菜","黄瓜","豆腐"]
print (v[1])
# 切片
v= ["鸡蛋","西红柿","土豆","青菜","黄瓜","豆腐"]
print (v[0:3:2])

G.计算列表长度

v= ["鸡蛋","西红柿","土豆","青菜","黄瓜","豆腐"]
v0=len(v)
print (v0)

H.for循环

v= ["鸡蛋","西红柿","土豆","青菜","黄瓜","豆腐","1"]
for i in v
print(i)

#补充~

列表中的元素可以是:数字,字符串,布尔值,列表

App = [11,21,[6,5,8],72,True,"西瓜",90]
v = len(App)
print (v)
App = [11,21,[6,"1840",8],72,True,"西瓜",90]
val = App [2][1][-1]
print(val)
App = [11, 21, [6, "1840", 8], 72, True, "西瓜", 90]
App[5][0] = ""
print(App)

# 错误,字符串不支持修改!!!
App = [11, 21, [6, "1840", 8], 72, True, "西瓜", 90]
App[5] = "南瓜"
print(App)
# 字符串 replace
App = [11, 21, [6, "1840", 8], 72, True, "西瓜", 90]
Val = App[5].replace("西","")
App[5] = Val
print(App)

5.元组

——不可变的容器,子项目不可改变

(1)为当前对象提供的功能

  无

(2)公共用处

A.长度

val=len(v)
print (val)

B.索引取值

print (v[0])
print (v[0:2])
print (v[0:4:2]) 步长

C.for循环

for i in v 
print i

D.元组也可以进行嵌套(子不能替换,孙能替换)

val = (11,22,[1,5,9],19,('a','s','r'),63)
val[2][1] = 'ddd'
print (val)
=========================
val[2].append('hjk')
print (val)

 6.字典

(1)为当前对象提供的功能

val = {
 key:value
}
键值对

A. 根据键获取值

val= v.get('k1')
print (val)

B.与for 循环结合使用

val=v.keys()
print (val)
=============
val=v.values()
print (val)
=============
val=v.items()
print (val)

(2)公共用处

C.获取字典长度(键值对的个数)

val = len(v)
print (val)

D.索引

——取值——

val = v['k1']
print(val)
建议使用‘get’取值,不会报错

——字典内是无序的,所以不存在步长——

——修改:存在就修改,不存在就增加新的键值对——

E.删除

del v[k1]

F.for循环

(3)字典嵌套

val = {
    'k1':123,
    'k2':"adcf",
    'k3':True,
    'k4':[12,56,43],
    'k5':(1,2,5,6),
    'k6':{
        'kk1':'vv1',
        'kk2':'vv2'
    },
    'k7':[1,3,(8,9,5,6),{'kkk1':'vvv1'},"够了"]
}
# 删去K6里面的kk2
# del val['k6']['kk2']
# k7里面的元组换成‘666’
# val['k7'][2]=666

#  k7里面字典再添加kkk2
(修改——存在就修改;不存在就增加新的键值对)
val['k7'][3]['kkk2']= 'vvv2'
print (val)
user_list =[
    {'name':'老铁','age':'21'},
    {'name':'老张','age':'30'},
    {'name':'老王','age':'28'},
    {'name':'老哥','age':'22'},
]
n=input('请输入姓名:')
m=input('请输入年龄:')
ABB={'name':n,'age':int(m)}
user_list.append(ABB)
print(user_list)

#通过循环,是打印出来的姓名与年龄好看一点
user_list =[
    {'name':'老铁','age':'21'},
    {'name':'老张','age':'30'},
    {'name':'老王','age':'28'},
    {'name':'老哥','age':'22'},
]
for item in user_list:
    print(item['name'],item['age'])

 

版权声明:本文为zhushuangyue原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/zhushuangyue/p/12958014.html