Python基础二
一、While循环延伸
与其它语言else 一般只与if 搭配不同,在Python 中还有个while ...else 语句,while 后面的else 作用是指,当while 循环正常执行完,中间没有被break 中止的话,就会执行else后面的语句(如果循环被break打断,程序不会走else)
count = 1 while True: print(count) if count == 3: break count += 1 else: print('循环正常完毕')
# 输出结果 1 2 3
count = 1 flag = True while flag: print(count) if count == 3: flag = False count += 1 else: print('循环正常完毕') # 结果 1 2 3 循环正常完毕
二、格式化输出
1、第一种
name = input('请输入你的名字:') age = input('请输入你的年龄:') hobby = input('请输入你爱好:') msg = '我叫%s,今年%d岁,爱好是%s' % (name, int(age), hobby) print(msg) # 输出 请输入你的名字:alex 请输入你的年龄:25 请输入你爱好:女人 我叫alex,今年25岁,爱好是女人
%s就是代表字符串占位符,除此之外,还有%d,是数字占位符,就代表你必须只能输入数字啦
2、第二种
dic = {'name': 'alex', 'age': 25, 'hobby': '女人'} msg = '我叫%(name)s,今年%(age)d岁,爱好是%(hobby)s' % dic print(msg) # 输出 我叫alex,今年25岁,爱好是女人
另附:在格式化输出中单纯的显示% ,用%% 解决。
三、基本运算符
1、算术运算
以下假设变量:a=10,b=20
2、比较运算
以下假设变量:a=10,b=20
3、赋值运算
4、逻辑运算
在没有()的情况下not 优先级高于 and,and优先级高于or,即优先级关系为( )>not>and>or,同一优先级从左往右计算。
x or y , x为真,值是x,x为假,值是y;
x and y, x为真,值是y, x为假,值是x。
数据类型转换:
int ---> bool 非0即True,0为False
bool---> int True 为1 ,False为 0
print(int(True))
print(int(False))
print(bool(100))
print(bool(0))
in 和 not in
s = '老男孩alexwusir' print('老男孩' in s) print('老男孩wusir' in s) print('老男' in s) print('老男' not in s)
四、计算机编码
8 bit = 1 byte
1 kb = 1024 byte
1 MB = 1024 KB
1 GB = 1024 MB
1 TB = 1024 GB
1、ASCII
包含数字,字母,特殊字符,最多8位(bit)表示一个字节(byte),最多表示2**8 = 256 个符号
2、Unicode(万国码)
Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定已有的字符和符号最少由 16 位来表示(2个字节),即:2 **16 = 65536,后来升级为32位来表示。浪费资源。
3、UTF-8
UTF-8,是对Unicode编码的压缩和优化:
英文:用8位表示一个字符。
欧洲: 16位两个字节表示一个字符。
亚洲 中 :24位,三个字节表示一个字符。
gbk:国标
只包含:英文中文。
英文: 8位,一个字节表示一个字符。
中文: 16位,两个字节表示一个字符。
五、课后作业
1、判断下列逻辑语句的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 True
6)、3 and 2 > 1 True
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)、不能是Python里的关键字
4)、名字不能太长,要有描述性
5)、此模式:old_boy_school
5. name = input(“>>>”) name变量是什么数据类型?
str
6. if条件语句的基本结构?
if 条件: if 条件: if 条件: if 条件: if 条件:
结果 结果 结果 结果 if 条件:
else: elif 条件: elif 条件: 结果
结果 结果 结果 else:
......... else: 结果
结果 else:
结果
7. while循环语句基本结构?
while 条件: while 条件:
结果 结果
else:
结果
8. 写代码:计算 1 - 2 + 3 ... + 99 中除了88以外所有数的总和?
count = 0 sum1 = 0 while count < 99: count += 1 if count % 2 == 1: sum1 += count elif count == 88: continue else: sum1 -= count print(sum1)
9. 用户登陆(三次输错机会)且每次输错误时显示剩余错误次数(提示:使⽤字符串格式化)
count = 2 while count >= 0: username = input('请输入用户名:') password = input('请输入密码:') if username == 'xiaoming' and password == '123': print('登陆成功') break else: if count == 0: print('用户名或密码错误') break else: print('用户名或密码错误,还有%d次机会...' % count) count -= 1
10. 简述ascii、unicode、utf-8编码关系?
ASCII:只包含数字、字母、特殊字符,8 bit 表示一个字节,表示一个字符
Unicode:16位的是两个字节表示一个字符;32位的是四个字节表示一个字符
utf-8:一个字节表示一个ASCII
两个字节表示一个欧洲字符
三个字节表示一个亚洲字符
11. 简述位和字节的关系?
8 bit = 1 byte
12. “老男孩”使用UTF-8编码占几个个字节?使用GBK编码占几个字节?
9,6
13. 制作趣味模板程序需求:等待用户输入名字、地点、爱好,根据用户的名字和爱好进行任意现实 如:敬爱可亲的xxx,最喜欢在xxx地方干xxx
name = input('请输入名字:') place = input('请输入地点:') hobby = input('请输入爱好:') msg = ('敬爱可亲的%s,最喜欢在%s%s' % (name, place, hobby)) print(msg)
14. 等待用户输入内容,检测用户输入内容中是否包含敏感字符?如果存在敏感字符提示“存在敏感字符请重新输入”,并允许用户重新输入并打印。敏感字符:“小粉嫩”、“大铁锤”
while True:
word = input('请输入内容:')
if '小粉嫩' in word or '大铁锤' in word:
print('存在敏感字符,请重新输入')
else:
print(word)
break
15. 单行注释以及多行注释?
单行注释用 #
多行注释用 ''' ''' 或""" """
16. 简述你所知道的Python3和Python2的区别?
1)、python2源码混乱、重复性多,3源码简洁优美
2)、2用raw_input() ,3用input()
3)、2print可以不用(),直接空格加引号,3必须加()
17. 看代码书写结果:
a = 1>2 or 4<7 and 8 == 8
print(a)
结果:True
18.continue和break区别?
continue:跳出本次循环,进入下一次循环
break:终止及跳出整个循环