一、上节回顾

1,while else
2,格式化输出
name = input('>>>')
s1 = '我叫%s,今年%d岁'%(name,18)
dic1
name = input('>>>')
s1 = '我叫%(name1)s,今年%(age1)d岁'%dic
3,逻辑运算符
and or not
3.1()>not>and>or 同一优先级,从左往右依次计算
3.2
    1 > 2 and 3 < 4 or 3 < 2 bool
3.3
    1 or 3    1 and 3     int
3.4
    1 or 3 > 2 or 44,编码初识
存储传输  010101001
最开始的密码本 ascii  8位 ==  1个字节Unicode  万国码
起初 16位    2个字节   表示一个字符改了 32位    4个字节   表示一个字符
             a  0000 0001  0000 0001  0000 0001  0000 0001
             中 0000 0001  0001 0001  0000 0001  0000 0001
但是 浪费对他进行升级: utf-8 :最少用8位表示一个字符
    英文字母: 8位,1个字节,表示一个字符
    欧洲文字: 16位,两个字节,表示一个字符
    亚洲:     24位,三个字节,表示一个字符    中国两个字: utf-8 :6个字节
                gbk:4个字节依米 not in 'fdjsalku依fsda米'
 二、今日内容大纲
1,上节回顾
2,作业讲解.
3,今日内容
4,整体初识数据类型
int  1,2,3,..
    主要是用于计算
str
    s1 = 'alex'
    1,存储少量的数据,便于操作.
bool
    True  False.
tuple 元组 (1,'alex',True,[],dict)
    只读列表,不能更改
list [1,'alex',True,[1,2,3],dict]
   可承载大量的数据,
dict {'name':'alex',
        'age':54,
        'python10':[化工哥,小白,小黑,萌哥,,花哥,娶哥,阎王]
        }
        1,可存储大量数据,
        2,关联型数据.
        3,查找数据非常快.
set
    {1,'alex',True,}三、作业讲解
# 8. 写代码:计算 1 - 2 + 3 ... + 99 中除了88意外所有数的总和?
count = 0
sum = 0
while count < 99:
    count += 1
    if count == 88:
        continue
    if count % 2 == 0:
        sum -= count
    else:
        sum += count
print(sum)
 
'''
9. ⽤户登陆(三次输错机会)且每次输错误时显示剩余错误次数
(提示:使⽤字符串格式化)
'''
i = 1
while i <= 3:
    username = input('请输入你的账户')
    password = input('请输入你的密码')
    if username == 'lol' and password == '戒了':
        print('欢迎登录')
        break
    else:
        print('输入错误,你还有%d输入机会'%(3-i))
        i += 1
        if i == 4:
            answer = input('想不想在试一试?/y')
            if answer == 'y':
                i = 1
else:
    print('要不要脸呀')
四、int
 
数字主要是用于计算用的,使用方法并不是很多,就记住一种就可以:
 
#bit_length() 当十进制用二进制表示时,最少使用的位数
v = 11
data = v.bit_length()
print(data) 
#int
i = 4
print(i.bit_length())
'''
0      0000 0000
1      0000 0001
2      0000 0010
3      0000 0011
4      0000 0100
'''
 
五、bool布尔值
 
布尔值就两种:True,False。就是反应条件的正确与否。
 
真   1   True。
 
假   0   False。    
 
# True,False 
# i = bool(3)
# print(i)
# i = bool(0)
# print(i)
 
# i = int(True)
# print(i)
# i = int(False)
# print(i)
 
# if 0:
#     print('aaaa')
 
# while True:
#     pass
#
# while 1:  # 执行效率高
#     pass
 
s = ''
# print(bool(s)) # 非空是True
 
# print(str(True),type(str(True)))
 
六、str字符串
 
字符串的索引与切片。
 
 索引即下标,就是字符串组成的元素从第一个开始,初始索引为0以此类推。
 
# s = 'alex wusir ritianfhdskjlafjdskl;fjsdal'
#str 有顺序,并且有索引,索引是从0开始.
'''
s1 = s[0]
print(s1,type(s1))
 
s2 = s[2]
print(s2,type(s2))
s3 = s[-1]
print(s3)
s4 = s[-2]
print(s4)
'''
 
切片就是通过索引(索引:索引:步长)截取字符串的一段,形成新的字符串(原则就是顾头不顾腚)。
 
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]) #反向加步长# 切片 顾首不顾尾
# s5 = s[0:4]
# print(s5)
# s6 = s[2:6]
# print(s6)
# s7 = s[5:]
# print(s7)
# s8 = s[0:]
# s81 = s[:]
# print(s8,s81)
#[起始索引:终止索引:步长]
# s9 = s[0:3:2]
# print(s9)
#倒叙取
# s10 = s[-1:-6:-2]
# print(s10)
# s11 = s[3:0:-2]
# print(s11)
# s12 = s[2::-2]
# print(s12)
#字符串的常用方法
字符串常用方法。
s =  'alex wuSir'
# *capitalize()首字母大写,其他字母小写
# print(s.capitalize())
 
# *swapcase()大小写反转
# print(s.swapcase())
 
# 非字母隔开的部分,首字母大写,其他小写
#s =  'alex wuSir1taibai*ritian'
# print(s.title())
s =  'alexawuSir'
# ***upper  全部大写
# ***lower  全部小写
# print(s.upper())
# print(s.lower())
# code = 'aeDd'
# your_code = input('请输入验证码:')
# if your_code.upper() == code.upper():
#     print('输入正确')
# else:print('请重新输入')
# *以什么居中,填充物默认空
# print(s.center(20))
# print(s.center(20,'*'))
# s =  'al\tex wuSir'
# print(s.expandtabs())
# ***find()通过元素找索引,可以整体找,可以切片,找不到返回-1
# index()通过元素找索引,可以整体找,可以切片,找不到会报错
# print(s.find('a'),type(s.find('a')))
# print(s.find('alex'),type(s.find('a')))
# print(s.find('a'))
# print(s.find('a',1,5))
# print(s.find('L'))
# print(s.index('L'))
 
s =  'alex wusir'
#*** startswith  endswith
# print(s.startswith('a'))
# print(s.startswith('al'))
# print(s.startswith('w',5))
# print(s.startswith('W',5))
# print('adfads\n','fdsa')
# print(s)
# s =  '\talex wusir\n'
# s1 = 'alalelllllllxwusirbl'
#*****strip 去除字符串前后两端的空格,换行符,tab键等
# print(s.strip())
# print(s.lstrip())
# print(s.rstrip())
# print(s1.strip('lab'))
# name = input('请输入名字:').strip()
# if name == 'alex':
#     print('somebody')
# else:print('请重新输入')
# s = 'alex;wusir;ritian'
# s1 = 'alexalaria'
#******split str --->list方法
# print(s.split(';'))
# print(s.split(';'))
# print(s1.split('a',1))
 
#replace ******
# s1 = '姐弟俩一起来老男孩老男孩老男孩'
# s2 = s1.replace('老','小',1)
# print(s2)
 # name='jinxin123'
# print(name.isalnum()) #字符串由字母或数字组成
# print(name.isalpha()) #字符串只由字母组成
# print(name.isdigit()) #字符串只由数字组成
 #************************format
#第一种
# s = '我叫{},今年{},身高{}'.format('金鑫',21,175)
# print(s)
#第二种
# s = '我叫{0},今年{1},身高{2},我依然叫{0}'.format('金鑫',21,175)
# print(s)
#第三种
# s = '我叫{name},今年{age},身高{high}'.format(name = '金鑫',high=175,age=21)
# print(s)
####公共方法
# count 计算元素出现的次数
# s =  'alexaaaaa wusir'
# print(s.count('a'))
# s = 'alex'
# print(len(s))
七、for

for循环:用户按照顺序循环可迭代对象的内容。

msg = '老男孩python是全国范围内最好的python培训机构'
for item in msg:
    print(item)

li = ['alex','银角','女神','egon','太白']
for i in li:
    print(i)

dic = {'name':'太白','age':18,'sex':'man'}
for k,v in dic.items():
    print(k,v)

 

s = 'salffdsafdsag'
# count = 0
# while count < len(s):
#     print(s[count])
#     count += 1
for i in s:
    print(i)