假如希望输出字符串s中第10个以后的字符,而不是所有字符,这个时候, 我们可以使用continue跳过前面的9个字符。
s = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
num = 1
for ch in s:
if num < 10:
num = num + 1
continue # 当num < 10时,跳过后续循环代码,继续下一次循环
print(ch)
num = num + 1
理解:当num < 10为true时,不执行 continue后续的循环; 为false时,执行continue后续的循环。
比如在前面的无限循环里面,只要在恰当的时机,我们使用break跳出循环,也可以求出1~100的和。
num = 1
sum = 0
while True:
if num > 100:
break
sum = sum + num
num = num + 1
print(sum)
理解:当num >100为true时,不执行break后续的循环; 为false时,执行break后续的循环。
num = 1
sum = 0
while True:
if num > 100:
break
sum = sum + num
num = num + 1
print(sum)
break 退出循环
num = 1
sum = 1
while num<=10:
sum=sum*num
num=num+1
print(sum)
利用一个sum变量累加就可以计算出总成绩。
L = [75, 92, 59, 68, 99]
sum = 0.0
for x in L:
sum = sum + x
print(sum / 5)
score = 95
if score < 60:
print('抱歉,考试不及格')
elif score >= 80:
print('恭喜你,拿到优秀的成绩')
elif score >= 90:
print('恭喜你,拿到卓越的成绩')
else:
print('恭喜你,考试及格')
有时候,我们会想获取字符串的一部分(子串),这个时候我们采取切片的方式获取,切片需要在中括号[]中填入两个数字,中间用冒号分开,表示子串的开始位置和结束位置,并且这是半闭半开区间,不包括最后的位置。
ab = s[0:2] # 取字符串s中的第一个字符到第三个字符,不包括第三个字符
print(ab) # ==> AB
为什么有编码问题
因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理。最早的计算机在设计时采用8个比特(bit)作为一个字节(byte),所以,一个字节能表示的最大的整数就是255(二进制11111111=十进制255),0 - 255被用来表示大小写英文字母、数字和一些符号,这种编码方式被称为ASCII编码,比如大写字母 A 的编码是65,小写字母 z 的编码是122。
如果要表示中文,显然一个字节是不够的,至少需要两个字节,而且还不能和ASCII编码冲突,所以,中国制定了GB2312编码,用来把中文编进去。
类似的,日文和韩文等其他语言也有这个问题。为了统一所有文字的编码,Unicode应运而生。Unicode把所有语言都统一到一套编码里,这样就不会再有乱码问题了。
Unicode通常用两个字节表示一个字符,原有的英文编码从单字节变成双字节,只需要把高字节全部填为0就可以。
format来处理字符串,输出不固定的内容。
# 字符串模板
template = 'Hello {}'
# 模板数据内容
world = 'World'
result = template.format(world)
print(result) # ==> Hello World
字符串前面加个前缀r,表示这是一个 raw 字符串,里面的字符就不需要转义了。
例:r'\(~_~)/ \(~_~)/'
但是r'...'表示法不能表示多行字符串,也不能表示包含'和 "的字符串。
如果要表示多行字符串,可以用'''...'''表示:
字符串包含' ',用“”括起来表示; 字符串包含“”,用''括起来表示;转义字符 \,表示后面字符为普通字符。
注意:转义字符 \不计入字符串的内容中。
常用的转义字符还有:
\n表示换行
\t 表示一个制表符
\\表示 \ 字符本身
与运算and:只有两个布尔值都为 True 时,计算结果才为 True
或运算or:只要有一个布尔值为 True,计算结果就是 True
非运算not:把True变为False,或者把False变为True:
需要注意的是,not计算的优先级是高于and和or的。
Python数字支持取模运算,使用百分号%表示取模。即为取余数,为0则整除。
Python除了普通除法以外,还有一个特殊的除法被称为地板除,对于地板除,得到的结果会忽略纯小数的部分,得到整数的部分,地板除使用//进行。即取整数部分。
函数round(),为保留小数。例round(23.56,1),结果为23.6。结果应为四舍五入。
整数和浮点数运算后 ,得到的结果不管小数点后是否有值,结果都变成浮点数了,这是合理的,浮点数可以表达整数的结果,但是整数不能表达浮点数的结果。
变量名由大小写英文字母、数字和下划线_组成
变量不能用数字开头
变量尽量不要和Python关键字重合(比如前面学习过的:and、or、not,否则可能导致Python原有关键字发挥不出作用)
在Python里面,一个变量可以先后存储多种不同类型的数据。这是Python这类语言特有的特性,我们称之为动态语言,与之对应的是静态语言,Python、Javascript等等都是动态语言,Java、C、C++等等属于静态语言。
在Python中,二进制整数使用前缀0b表示; 十六进制使用前缀0x;在Python中,字符串是以''或""括起来的任意文本,比如'abc',"xyz"等等。
布尔值可以用and、or和not运算(注意and,or,not都是Python语言本身的关键字)。
and运算是与运算,只有所有都为 True,and运算结果才是 True。
or运算是或运算,只要其中有一个为 True,or 运算结果就是 True。
not运算是非运算,它是一个单目运算符,把 True 变成 False,False 变成 True。
d = {
'Alice': 45,
'Bob': 60,
'Candy': 75,
'David': 86,
'Ellena': 49,
'Gaven': 86
}
not计算的优先级是高于and和or的。
Python把0、空字符串和None看成False
字符串可以用' '或者" "括起来表示。
当字符串本身包含'时:
比如要表示字符串 I'm OK ,这时,可以用" "括起来表示:
"I'm OK"
类似的,如果字符串包含",可以用' '括起来表示:
'Learn "Python" in imooc'
当字符串既包含'又包含"时:
需要对字符串中的某些特殊字符进行“转义”,Python字符串用\进行转义。
由于'和"会引起歧义,因此,需要在它前面插入一个\表示这是一个普通字符,不代表字符串的起始,例如要表示字符串:Bob said "I'm ok"
就可以写成‘Bob said \"I\'m ok\".'
注意:转义字符\不计入字符串的内容中。
常见的转义字符还有:
\n表示换行
\t表示一个制表符
\\表示\字符本身
1.在Python中,整数和整数,浮点数和整数之间可以直接进行许多运算
其计算格式类似于日常的计算,如:
a=10
b=2.5
c=a+b
print(c)
此时计算机输出的结果为12.5
减法、乘除法也是同样的道理
注:整数和浮点数进行计算后,结果都显示浮点数形式,这是正常的
·在不同的Python版本中,计算的结果可能会不同,建议使用最新版Python
2.Python支持取模运算(取模运算即为计算两个数相除的余数的运算),取模运算使用%号表示。
取模运算的格式与加减乘除法相同,写作a%b
如:3%2,3 /2=1......1,余数为1,因此3%2=1
3. Python中还有一种叫“地板除”的运算,即为计算两数相除,取整数部分为结果的运算,地板除的符号为//
4.若计算后只想保留小数点后几位,可以使用round()函数,round()函数包含两个语句,第一个语句是需要进行保留小数点位数操作的那个数,第二个是保留的位数。
如:
a=10/3
round(a, 2)=3.33
Python中定义一个变量的约束:(关键点)
1.变量名由大小写英文字母、数字和下划线_组成
2.变量不能用数字开头
3.变量尽量不要和Python关键字重合(比如前面学习过的:and、or、not,否则可能导致Python原有关键字发挥不出作用)
4.要定义一个变量,只需要以:
变量名=数据
这种格式写一句语句,如:
a=2
此时a的值就为2
a的值也可以是字符等,如:
b='laosha'
此时b的值就为字符串'laosha'
注意:若要定义的变量的值是字符或字符串,则在需使用单引号括起这个字符串,否则将无法识别。
5.在Python里面,一个变量可以先后存储多种不同类型的数据。
当使用print语句输出文本时,注意在需要输出的文本前后都有单引号'
print和>>>不可以有空格
注意(、)、'、')均为英文字符
注意:使用python的print语句输出文本时,除非使用# coding=utf-8等
语句告诉计算机,不然所要输出的文本中不能存在中文字符,否则电脑将无法识别
如:
print('你好')
单独执行这条语句,电脑将显示错误
但是当在前面加上提示语句告诉电脑时:
如:
# coding=utf-8
print('你好')
执行这段代码,电脑将输出"你好
要定义只有一个元素的tuple,需要在元素后面添加一个逗号,
在dict中,使用keys()方法,可以返回dict的所有key,在删除某个元素时,可以通过这个方法先判断某个元素是否存在,请改造前面的程序,使得即使key不存在时,删除也不会抛异常。
count()方法用来统计tuple中某个元素出现的次数。
index()方法可以返回指定元素的下标,当一个元素多次重复出现时,则返回第一次出现的下标位置。
由于tuple一旦定义之后便不可修改,所以在实际编程中,tuple经常用于存放固定不变的数据。
name=['Alice', 'Bob', 'Candy', 'David', 'Ellena']
name.append('Gen')
name.insert(6,'Phoebe')
name.insert(7,'Zero')
print(name)
L = [95.5, 85, 59, 66, 72]
L.sort(reverse=True)
print(L[-3:])
输出了倒数第三名