一、上节回顾
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 4
4,编码初识
存储传输 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)