python基础2
一 格式化输出
第一种方法
name1 = input("请输入名字:")
age1 = input("请输入年龄:")
hobby1 = input("爱好是:")
msg = "我叫%s,今年%d岁,爱好是%s" %(name,int(age),hobby)
print(msg)
第二种方法
name1 = input("请输入名字:")
age1 = input("请输入年龄:")
hobby1 = input("爱好是:")
msg = "我叫%(name)s,今年%(age)s岁,爱好是%(hobby)s" %{"name":name1,"age":age1,"hobby":hobby1}
print(msg)
二 逻辑运算符的优先级
()>Not>and>or 括号第一 not第二 and第三 or第四
print(1>2 and 3>4 or 4<5)
print(not 9>0 and (3<5 or 8>7) and 7>6 or 3>8)
两边是数字时 X and Y 前为True 则输出y 否则 输出x
print(1 and 8)
print(7 and 8)
print(0 and 8)
print(0 and 9)
or 与 and 相反 x or y 前为True 输出 x 否则输出y
print(1 or 8)
print(7 or 8)
print(0 or 8)
print(0 or 9)
三 编码
战争时期:
发电报,发的是高低电频,实际上是01010101
今 0000 0001
晚 0000 0101
嗨 0000 0111
去呀 0000 1001
00000001 00000101 00000111 00001001
计算机:
储存文件,或者是传输文件,实际上是010101010
计算机创建初期,美国,二进制,
密码本:
ascii
00000001
01000001 01000010 01000011 ABC
因为全球语言很多,ascii不足以存储这么多对应关系,创建了一个超级密码本:万国码unicode
8 位 == 1个字节.
hello h一个字符,e一个字符,he就不是一个字符.
中国:中是一个字符,国是一个字符.
unicode :
创建之初,16位,2个字节,表示一个字符.
英文: a b c 六个字节 一个英文2个字节
中文 中国 四个字节 一个中文用2个字节
改成 32位,4个字节,表示一个字符.
a 01000001 01000010 01000011 00000001
b 01000001 01000010 01100011 00000001
中 01001001 01000010 01100011 00000001
浪费资源.
对Unicode进行升级: utf-8
utf-8 用最少用8位数,去表示一个字符.
英文: 8位,1个字节表示.
欧洲文字: 16位,两个字节表示一个字符.
中文,亚洲文字: 24位,三个字节表示.
utf-16 用最少用16位数.
gbk:
国标,只能中国人自己用, 一个中文用16位,两个字节表示.一个英文用8位
单位转化:
8位bit 8bit == 1bytes
1024bytes == 1kB
1024KB == 1MB
1024MB == 1GB
1024GB == 1TB
四 作业
判断下列逻辑语句的True,False.
1),1 > 1 or 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6 True
2)not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6 False
2、求出下列逻辑语句的值。
1),8 or 3 and 4 or 2 and 0 or 9 and 7 8
2),0 or 2 and 3 and 4 or 6 and 0 or 3 4
3、下列结果是什么?
1)、6 or 2 > 1 6
2)、3 or 2 > 1 3
3)、0 or 5 < 4 False
4)、5 < 4 or 3 3
5)、2 > 1 or 6 Ture
6)、3 and 2 > 1 ture
7)、0 and 3 > 1 0
8)、2 > 1 and 3 3
9)、3 > 1 and 0 0
10)、3 > 1 and 2 or 2 < 3 and 3 and 4 or 3 > 2 2
4. 简述变量命名规范
1 数字 字母 下划线组成
2 数字不能开头
3 不建议用中文
4 要有描述性
5 不能太长
6 建议用驼峰题和下划线
7 不能用关键词
5. name = input(“>>>”) name变量是什么数据类型? 字符串类型
6. if条件语句的基本结构? if 条件:
结论
7. while循环语句基本结构? while 条件:
结论
8. 写代码:计算 1 - 2 + 3 ... + 99 中除了88以外所有数的总和?
a = 1
sum = 0
while a<100:
if a%2==1:
sum = sum+a
a = a+1
elif a%2==0:
if a == 88:
a+=1
continue
sum = sum-a
a = a+1
print(sum)
9. ⽤户登陆(三次输错机会)且每次输错误时显示剩余错误次数(提示:使⽤字符串格式化)
a = 3
while a > 0:
name = input("请输入用户名:")
password = input("请输入密码:")
if name == "alex" and password == "123":
print("登录成功")
break
else: a -= 1
b = "今日还剩%d次" %(a)
print(b)
if a == 0:
print("今日登录次数已用完,请明天再试")
else:print("用户名或密码错误,重新输入")
10. 简述ascii、unicode、utf-8编码关系?
ascii是最先有的,其他的都是根据它的基础完善的, ascii用8位,一个字节表示一个字符
Unicode也叫万国码 开始用16位两个字节表示一个字符,但是不能表示完全 后来用32位 四个字节表示一个字符
utf-8是优化unicode而来,,他用最少的位来表示一个字符,比如英文用8位 欧洲用16位表示 中文用24位来表示.
11. 简述位和字节的关系? 8位==一个字节
12. “⽼男孩”使⽤UTF-8编码占 6个⽤⼏个字节?使⽤GBK编码占 4个⼏个字节?
13. 制作趣味模板程序需求:等待⽤户输⼊名字、地点、爱好,根据⽤户的
名字和爱好进⾏任意现实 如:敬爱可亲的xxx,最喜欢在xxx地⽅⼲
name = input("请输入名字:")
do = input("请输入干什么:")
local = input("请输入地点:")
msg = "敬爱的%s,在%s,喜欢干%s" %(name,local,do)
print(msg)
14. 等待⽤户输⼊内容,检测⽤户输⼊内容中是否包含敏感字符?如果存在
敏感字符提示“存在敏感字符请重新输⼊”,并允许⽤户重新输⼊并打印。敏
感字符:“⼩粉嫩”、“⼤铁锤”
while True:
a = input("请输入一句话;")
if "铁锤" in a or"粉嫩" in a:
print("含有敏感字符,请重新输入")
continue
else:break
15. 单⾏注释以及多⾏注释? #后加单行注释 ''' 中间加多行注释'''
16. 简述你所知道的Python3和Python2的区别?
17. 看代码书写结果:
a = 1>2 or 4<7 and 8 == 8
print(a) False
18.continue和break区别?
continue结束本次循环,重新开始
break 结束并跳出这个循环
Day3默写代码:
Bit,Bytes,Kb,Mb,Gb,Tb之间的转换关系。8bie==1byte 1024byte==1kb 1024kb ==1mb 1024mb==1gb 1024gb==1tb
Unicode,utf-8,gbk,每个编码英文,中文,分别用几个字节表示。
Unicode下 英文 4个 中文 4个
utf-8 下 英文 1个 中文 2个
gbk下 英文 2个 中文 2个