python基础2 day3

时间:2022-10-24 14:49:32

一、上节回顾

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)

'''

切片就是通过索引(索引:索引:步长)截取字符串的一段,形成新的字符串(原则就是顾头不顾腚)。

python基础2 day3
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]) #反向加步长
python基础2 day3

# 切片 顾首不顾尾

# 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)