一,while
while也称为无限循环、死循环
-
unicode:
缩进 循环体
-
应用领域:音乐播放:单曲循环,列表循环,随机播放(也是有规律的)
登陆界面:……
数学计算:1~100的和,1~100奇数的和/偶数的和……
while True:
print('-------------')
print('西北玄天一片云,')
print('乌鸦落入凤凰群,')
print('满桌都是英雄汉,')
print('谁是君来谁是臣。')-
break -- 必须在while循环使用
braek -- 终止当前循环,且其下方的代码不会执行。
while True:
print('-------------')
print('西北玄天一片云,')
print('乌鸦落入凤凰群,')
print('满桌都是英雄汉,')
print('谁是君来谁是臣。')
break # 可放在循环体下面的任何条件后 -
改变循环体的条件--也可以终止循环
f = True
while f:
print('-------------')
print('西北玄天一片云,')
print('乌鸦落入凤凰群,')
print('满桌都是英雄汉,')
print('谁是君来谁是臣。')
f = False # 可放在循环体下面的任何条件后 -
continue -- 跳出本次循环,继续下一次循环,其下方的代码不会执行。
(伪装成循环体的最后一行代码)
while True:
print('-------------')
print('西北玄天一片云,')
print('乌鸦落入凤凰群,')
print('满桌都是英雄汉,')
continue # 伪装成最后一行代码,不执行其下面的代码,继续无线循环
print('谁是君来谁是臣。')
-
二、格式化
占的位置填充时必须一一对应,填充的时候按照顺序填充,由左至右
应用:例如做个名片,注册账号……
-
%s —— 字符串类型
-
%d%i —— 数字类型
name = input("name:")
age = input("age:")
addr = input("addr:")
phone = input("phone:")
info = """
-----------info----------
姓名:%s
年龄:%s
公司:%s
电话:%s
------------end-----------
"""%(name,age,addr,phone)
print(info) -
%% —— 转义
msg = "%s的学习进度是2%%"%(python)
print(msg)# %%转义是百分之二 -
f"{格式}" —— 最好用的一种填充
-
name = "qwert"
password = "1234"
num5 = 3
while num5 > 0:
names = input("请输入账号:")
psd = input("请输入密码:")
if name == names and password == psd:
print("登录成功")
break
print(f"输入错误,还有{num5-1}次机会。")
num5 -= 1
-
三、运算符
-
算数运算符
运算符 描述 实例 + 加,两个对象相加 a+b=30 - 减,两个对象相减,可能会得到负数 a-b=-10 * 乘,两数相称或是返回一个被重复若干次的字符串 a*b=200 / 除,两个对象相除 b/a=2 % 取膜,返回除法的余数 b%a=0 ** 幂,返回x的y次幂 a**b=100000000000000000000L // 整除余,返回商的整数部分 a//b=0 -
比较运算符
运算符 描述 实例 == 等于,比较两个对象是否相等 a==b返回False != 不等于,比较两个对象是否不相等 a!=b返回True <> 不等于,比较两个对象是否不相等 a<>b返回True > 大于,比较x是否大于y, a>b返回False < 小于,比较x是否小于y a<b返回True >= 大于等于,比较x是否大于等于y a>=b返回False <= 小于等于,比较x是否小于等于y a<=b返回True -
赋值运算符
运算符 描述 实例 = 赋值运算符 c=a+b,将a+b的运算结果赋值给c += 加法赋值运算符 c += a等效于c = c + a -= 减法赋值运算符 c -= a等效于c = c - a *= 乘法赋值运算符 c *= a等效于c = c * a /= 除法赋值运算符 c /= a等效于c = c / a %= 取模赋值运算符 c %= a等效于c = c % a **= 幂赋值运算符 c = a等效于c = c a //= 取整除赋值运算符 c //= a等效于c = c // a -
逻辑运算符
运算符 描述 实例 and “与” a and b返回true or “或” a or b返回true not “非” no(a and b)返回false and: 都为真,就是真:选择and后面的内容
有一个是假就是假:都为假的时候选择and前面的内容
or: 只要有一个真就是真
两个都是真,选or前面的
两个都为假:选or后面的
not: 不是,非
-
优先级别:( ) > not > and > or
9 or 8 and 4 and not 4 < 5 or 8
9 or 8 and 4 and False or 8
9 or 4 and False or 8
9 or False or 8
9 or 8
9
not 3<5 and 6>3 or 6 and not True or False and 8 or 90
False and 6>3 or 6 and not True or False and 8 or 90
False and 6>3 or 6 and False or False and 8 or 90
False or 6 and False or False and 8 or 90
False or False or False and 8 or 90
False or False or False or 90
90 -
-
成员运算符
运算符 描述 in 如果在指定的序列中找到值返回True,否则返回False not in 如果在指定的序列中没有找到值返回True,否则返回false a = "alex"
if "b" not in a:
print("不在")
else:
print("在")
a = "alex"
if "b" in a:
print("在")
else:
print("不在")
四、编码初识
-
ascii码 —— 美国自造,最早256位
英文1个字节
不支持中文
-
Gbk —— 中国制造包含了ascii
中国标准语言——国标
英文8位1个字节,中文16位2个字节
-
unicode —— 万国码
英文16位2个字节
中文42位4个字节
-
utf-8 —— 万国码的升级版本 最流行的密码本
英文1个字节8位
欧洲2个字节16位
亚洲3个字节24位
五、单位转换
-
1Bytes = 8bit 1个字节 == 8位
-
1KB = 1024B
-
1MB = 1024KB
-
1GB = 1024MB
-
1TB = 1024GB
-
1PB = 1024TB
-