内容大纲:
1、while循环
2、格式化输出
3、运算符
4、编码初识
一、while循环
1、基本结构:
while 条件:
循环体
程序执行步骤:①先判断条件是否为True,若为True,则执行循环体;
②循环体执行到底部,返回继续判断条件
while True: print('两只老虎')
2、如何终止循环:
(1)改变条件
①使用标志位flag;
#打印1~100 flag = True count = 1 while flag: print(count) count = count + 1 if count > 100: flag = False
②直接改变条件;
#打印1~100 count = 1 while count < 101: print(count) count = count + 1
(2)加入关键字break终止循环,循环中只要遇到break,立马结束循环
# 打印1~100 count = 1 while True: print(count) count = count + 1 if count > 100: break
3、continue:结束本次循环,判断条件,继续循环
#continue的使用 while True: print(123) print(456) continue print(789) #程序会一直打印123456123456不会打印789
4、while...else...结构:while循环执行中如果被break打断,则不 执行else后面的指令;没有被break打断,则正常执行else后面的指令
#while...else 结构 count = 1 while count < 5: count = count + 1 if count == 3: break else: print(666) print(555) #只会打印555,不会打印666
5、while的应用场景:
①验证用户名和密码,重新输入
②无限次的显示页面,无限次的输入
二、格式化输出:某些参数的位置是固定的,但是值是动态的需要用到格式化输出
%是占位符,占位符后面需跟上数据类型,s是字符串类型,d是数字类型
1、第一种方式:
name = input('请输入姓名:') age = input('请输入年龄:') msg = '你的名字是%s,你的年龄是%s' % (name,age) print(msg)
2、第二种方式:使用字典
name = input('请输入姓名:') age = input('请输入年龄:') msg = '你的名字是%(name1)s,你的年龄是%(age1)s' % {'name1':name,'age1':age} print(msg)
3、在格式化输出中,如果要显示%,需要输入%%
name = input('请输入姓名:') age = input('请输入年龄:') percent = int(input('请输入学习进度:')) msg = '你的名字是%(name1)s,你的年龄是%(age1)s,你的学习进度是%(percent1)d%%' % {'name1':name,'age1':age,'percent1':percent} print(msg)
三、运算符
1、算数运算符
a = 10;b = 20
运算符 | 描述 | 实例 |
+ | 加 |
a + b =30 |
- | 减 | a - b = -10 |
* | 乘 | a * b = 200 |
/ | 除 | a / b = 0.5 |
% | 取余 | a % b = 10 |
** | 幂 | a ** b = 10000000000 |
// | 整除 | a // b = 0 |
2、比较运算符
运算符 | 描述 |
= |
等于 |
!= |
不等于 |
<> | 不等于,相当于!= |
> |
大于 |
< | 小于 |
>= | 大于等于 |
<= |
小于等于 |
3、赋值运算符
4、逻辑运算符(not、and、or)
(1)优先级:() > not > and > or
(2)前后两边的条件为比较运算
例如:
print(1<2 and 3>4 or 8<6 and 9>5 or 7>2)
结果是 True
(3)前后两边的条件为数值(0对应的bool值是False,非0对应的bool值是True)
x or y:如果x为非0(True),则返回x;如果x是0(False),则返回y;
x and y:如果x为非0(True),则返回y;如果x是0(False),则返回x;(与or相反)
print(1 or 2) print(1 and 2) print(0 or 3) print(0 and 3)
结果为:
1
2
3
0
(4)第三种情况:前后两边的条件一边为比较运算,一边为数值
参照第二种方法
print(6 or 2 > 1) 结果为:6
print(3 or 2 > 1) 结果为:3
print(0 or 5 < 4)结果为:False
print(2 > 1 and 3) 结果为:3
print(3 > 1 and 2 or 2 < 3 and 3 and 4 or 3 > 2) 结果为:2
四、编码初识
什么是编码?
在计算机中,所有的数据在存储和运算时都要使用二进制来表示,而具体用哪些二进制数表示哪些符号,每个人都可以约定自己的一套(这就叫编码),但是为了使大家互相通信而不造成混乱,大家必须使用相同的编码规则,以下就是目前运用广泛的编码规则:
ASCII码(美国信息交换标准代码),是由美国国家标准协会制定的,ASCII码使用7位或8位二进制数组合来表示128或256种可能的字符。标准ASCII码使用7位(剩下的1位是二进制数0)来表示所有的大写字母、小写字母、数字、标点符号,以及在美式英语中使用的特殊控制字符。中只有英文/数字/特殊字符,只有128个有效字符,每个字符由8位bit组成,最左一位都是0,因为设计之初用不上那么多位。
Unicode:将所有国家的语言文字都写入(浪费资源,占空间)
起初:一个字符16bit==2个字节组成
改版:一个字符32位 4个字节表示
GBK:国标,只包含中文,英文,数字,特殊字符。
英文:1个字节(8位)
中文:2个字节(16位)
utf-8:对Unicode编码的压缩和优化,最少用8位表示一个字符
英文:8bit
欧洲文字:16bit
中文:24bit 3个字节
这些编码之间的英文、数字、特殊字符都参照ASCII。
8 bit = 1 Byte
1024 Byte = 1KB
1024KB = 1GB
1024GB = 1TB
1024TB = 1PB