1、流程控制-while循环,结构以下:python
while 条件:学习
结果编码
若是条件是真,则直接执行结果,而后再次判断条件,直到条件是假,中止循环设计
那么咱们如何终止循环呢?code
1,改变循环条件orm
2,breakutf-8
注意:continue并不能结束循环,只是结束本次循环,继续下一次循环ci
while循环补充:unicode
while 条件:字符串
循环体
else: # 循环在正常状况跳出以后会执行这里
例如:
index = 1
while index < 11
if index == 8:
# break
pass
else:
print(index)
Index = index + 1
else:print(“您好”)
注意:若是循环是经过break退出的,那么while后面的else将不会被执行,只有在while条件判断是假的时候才会执行这个else。
pass:不表示任何内容,为了代码的完整性,占位而已
2、流程控制-break和continue
1,break:打断,完全终止当前本层循环
2,continue:中止本次循环,继续执行下一次循环
3、格式化输出
如今有如下需求,让用户输入name,age,job,hobby而后输出以下所示:
--------------- info of Alex Li ---------------
Name : Alex Li
Age : 22
job : Teacher
Hobby : girl
-------------------- end ---------------------
要怎么实现呢?你会发现,用字符拼接的方式很难实现这种格式的输出,因此一块儿来学一下新姿式,你须要把要打印的格式先准备好,因为里面的一些信息是须要用户输入的,你没办法预先知道,所以能够先放置一个位置占位符,再把字符串里的占位符与外部的变量作个映射关系就行了,具体以下:
name = input(“Alex Li”)
age = input(“22”)
job = input(“Teacher”)
hobby = input(“girl”)
info = ’’’
--------------- info of %s ----------------- # 这里的每一个%s就是一个占位符
Name : %s
Age : %s
job : %s
Hobby : %s
-------------------- end -------------------
’’’ % (name , name , age , job , hobby) # 这行的%就是把前面的字符串与后面的变量关联起来
%s就是表明字符串占位符,除此以外,还有%d,是数字占位符,若是把上面age后面的换成%d,就表明你必须只能输入数字,这时age对应的数据类型必须是int类型,不然程序会报错。
int(str) # 字符串转换成int类型
str(int) # int转换成字符串类型
若是你以为转换类型麻烦,不想转换,也能够所有都用%s,由于任何东西均可以直接转换成字符串(仅限%s)
如今问题又来了,若是想输出: 我叫%s,今年多少岁,咱们已经学习了2%的python了
这里的问题在哪里呢?没错,就是2%,在字符串中若是使用了%s这样的占位符,那么全部的%都将变成占位符,咱们的2%也变成了占位符,而上句中“%的”是不存在的,这里咱们须要使用%%来表示字符串中的%。
注意:若是你的字符串中没有使用过%s,%d占位,那么就不须要考虑那么多,该%就%,程序不会报错。
例如:print(“我叫%s,今年22岁了,学习python2%%了” % ‘lily’) # 有%占位符,想输出“2%”就要写成“2%%”
print(“我叫lily,今年22岁了,已经学了80%python了”) # 没有占位符,正常写便可
4、基本运算符
计算机能够进行的运算有不少种,可不仅有加减乘除这么简单,运算按种类可分为:
算数运算
比较运算
逻辑运算
赋值运算
成员运算
身份运算
位运算
今天咱们暂时学习算数运算,比较运算,逻辑运算,赋值运算
4.1 算数运算
+,-,*,/,%(取余),**(次幂),//(整除或地板除)
4.2 比较运算
==,!=,<>(不等于),>,<,>=,<=
4.3 逻辑运算
and -- 而且,两边同时为真,结果才是真,有一个是假,结果为假
or -- 或者,两边只要有一个为真,结果就为真
not – 非真即假,非假即真
逻辑运算的进一步研究:
1,在没有()的状况下not的优先级高于and,and优先级高于or,即优先级关系:( ) > not > and > or,同一优先级的从左往右。
( ) > not > and > or
例题:判断下列逻辑语句的True,False
3 > 4 or 4 < 3 and 1 == 1
1 < 2 and 3 < 4 or 1 > 2
2 > 1 and 3 < 4 or 4 > 5 and 2 < 1
not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6
2,x or y,x为真,值就是x,x为假,值是y
x and y,x为真,值是y,x为假,值是x
例题:求出下列逻辑语句的值
8 or 4
0 and 3
0 or 4 and 3 or 7 or 9 and 6
4.4 赋值运算
=,+=,-=,*=,/=,%=,**=,//=
5、编码初识
Python2解释器在加载 .py文件中的代码时,会对内容进行编码(默认ascill),而python3对内容进行编码的默认为utf-8。
早期,计算机是美国发明的,普及率不高,通常只是在美国使用,因此,最先的编码结构就是按照美国人的习惯来编码的,对应数字+字母+特殊字符一共也没多少,因此就造成了最先的编码:ASCII码,直到今天ASCII依然深深的影响着咱们。
ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其余西欧语言,其最多只能用8位来表示(一个字节),即2**8 = 256,因此,ASCII码最多只能表示256个字符。
随着计算机的发展以及普及率的提升,流行到欧洲和亚洲,这时ASCII码就不合适了,好比:中文汉字有几万个,而ASCII最多也就256个位置,因此ASCII不行了,怎么办呢?这时,不一样的国家就提出了不一样的编码用来适应于各自的语言环境,好比,中国的GBK,GB2312,BIG5,ISO-8859-1等等,这时各个国家均可以使用计算机了。
GBK,国标码占用2个字节,对应ASCII码,GBK直接兼容,由于计算机底层是用英文写的,你不支持英文确定不行,而英文已经使用了ASCII码,因此GBK要兼容ASCII。
字母A:0100 0001 #ASCII码
字母A:0000 0000 0100 0001 #GBK国标码
因为国标码使用两个字节,因此对于ASCII 码而言,前8位都是0
国标码的弊端:只能中国用,日本用就垮了,因此国标码不知足咱们的使用,这时提出了一个万国码Unicode,Unicode一开始设计是每一个字符两个字节,设计完了,发现我大中国汉字依然没法进行编码,只能进行扩充,扩充成32位也就是4个字节,这回够了,可是,问题来了,中国字9万多,而unicode能够表示40多亿,根本用不了,太浪费了,因而乎,就是提出了新的UTF编码,便可变长度编码。
UTF-8:每一个字符最少占8位,每一个字符占用的字节数不定,根据文字内容进行具体编码,好比:英文,就一个字节就够了;汉字占3个字节,这时既知足了中文,也知足了节约,也是目前使用频率最高的一种编码
UTF-16:每一个字符最少占16位
GBK:每一个字符占2个字节,16位
编码小结:
1,ASCII是最先的编码,至今还在使用,一个字符8位(一个字节)
2,GBK,国标码,16位,2个字节
3,unicode,万国码,32位,4个字节
4,UTF-8,可变长度的unicode
英文:8位,1一个字节
欧洲文字:16位,2个字节
汉字:24位,3个字节
单位转换(经常使用到TB就够了):
8bit = 1byte 或者 8b = 1B
1024byte = 1KB
1024KB = 1MB
1024MB = 1GB
1024GB = 1TB
1024TB = 1PB
1024PB = 1EB
1024EB = 1ZB
1024ZB = 1YB
1024YB = 1NB
1024NB = 1DB
六、in 和not in
能够判断xxx字符串是否出如今xxxxx字符串中
例如:
content = input(“请输入你的评论”)
if “苍老师” in content or “邱老师” in content:
print(“你输入的内容不合法”)
else:
print(“评论成功”)