while循环和字符串格式化
小知识点
\n#换行
\t #制表
\r #回车
print(a,b,c,d,sep="\n")换行 sep默认空格
1.while--关键字(死循环)
while 空格 条件:
缩进 循环体
bool(1)==True将数字转换成布尔值,数字里边非零都为True
bool(0)==False
break:--打破当前循环(终止当前循环 break 下方循环体的代码不会执行 )
continue:(伪装成循环体中的最后一行代码)跳出当前循环,继续下次循环 continue 下方的代码不执行
while 空格 条件:
缩进 循环体
else:(while 条件成立的时候不执行,while条件不成立时执行)(当while正常循环结束,执行此语句)
缩进 结果
while else 练习
首先让用户输入序号选择格式如下:
0.退出
1.开始登录
如果用户选择序号0 就提示用户退出成功
如果用户选择序号1就让用户输入用户名密码然后进行判断,正确就终止循环,错误重新输入
name="alex"
psd="admin123"
while True:
num=input("请选择序号:0.退出 1.开始登陆\n")
if num=='0':
print("退出成功")
break
elif num=='1':
while True:
num1=input("请输入账号:")
psd1=input("请输入密码:")
if num1==name:
if psd==psd1:
print("成功登陆!")
break
else:
print("密码错误,请重新输入!")
else:
print("账号错误,请重新输入")
break
else :
print("请正确输入序号!")
总结:
-
打断循环的方式:
- 通过自己修改条件
- break
-
break 和break相同之处:他们以下的代码都不执行
2.字符串格式化
s="""-----info-----
name:%s
age:%s
job:%s
-----end-----
"""
name=input("name:")
age=input("age:")
job=input("job:")
print(s%(name,age,job))
%占位符
%s 占字符串 普遍适用
%i %d 占的是整型(数字)的位置
%% 转义% 只代表是普通的%
vnum=input("请输入学习进度:")
s="学习进度是%s%%"
print(s%(num))
结果:
请输入学习进度:20
学习进度是20%
变量名%(填充内容)
f 3.6版本以上才能使用
f"{变量名}{字符串}"3.6版本以上使用
name=1
sss=f"今天下雨了,{name}"
print(sss)
s=f"今天下雨了,{input('>>>')}"
print(s)
#结果
#今天下雨了,1
#>>>路不好走
#今天下雨了,路不好走
3.运算符
算术运算符
+
-
*
/ python2中/是整除,获取的值是整数 python3数学除法,获取的浮点数
// 整除--地板除
** 幂(次方)
% 取余 (求模)
比较运算符
> 大于
< 小于
== 等于
!= 不等于
>= 大于等于
<= 小于等于
赋值预算符
= 单纯的赋值
+= 自加 a+=1(a=a+1)
-= 自减
*= 自乘
/= 自除
//=
%=
**=
逻辑运算符
and (与/和)
or (或)
not (非)
and
都为真是取后边的值 ;都为假取前边;一真一假取假的值
or
都为真是取前边的值;都为假取后边;一真一假取真的值
优先级
()>not>and>or
成员运算符
in 存在
not in 不存在
4.编码初识
一个中文字符 四个字节 32位
编码集
ascii码
美国人不支持中文
gbk 国标
英文8位1字节 中文16位2字节
unicode 万国码
usc-2英文16位2字节 usc-4中文32位4字节
utf-8(可变长编码)
英文8位1字节 欧洲文16位2字节 亚洲24位3字节
linux utf-8
mac utf-8
windows gbk
单位转换
1字节=8位
1Bytes=8bit
1024Bytes=1KB
1024KB=1MB
1024MB=1GB
1024GB=1TB
1024TB=1PB
1024PB=1EB
1024EB=1ZB
1024ZB=1YB