python学习第二篇 pass 布尔 字符串 循环语句
Pass
作用:
通常用来填充语法空白 pass又名空语句
布尔运算
运算符:
not and or
- 布尔非操作not
语法:
Not x
作用:
对x进行布尔取非,如bool(x)为True,则返回False
2.布尔与操作 and
语法:x and y
注:x,y代表表达式
作用:
优先返回假值对象,当X的布尔值为False时,返回x,否则返回y。
说明:
同时为True,才为True。
只要有一个为False,就为False.
练习:
- 输入一个月份判断是否是合法月份?
def pd(n): x=eval(n) try: if 0<n<13 and type(x) == int: print("合法") else: print("不合法") except: print("不合法") num=(input("请输入一个月份:")) pd(num)
- 写一个面试程序,要求是男士而且年龄小于50岁才可以面试?
1 def pd(n,m): 2 if n==1 and 0<m<50: 3 print("可以面试") 4 else: 5 print("不能面试") 6 num=int(input("男士输入1,女士输入2:")) 7 mum=int(input("请输入年龄:")) 8 pd(num,mum)
3.布尔或操作 or
语法:
X or y
作用:
优先返回真值对象,当x为Ture时返回x,否则返回y
同时为False,才为False
只要有一个为True,就为True
字符串
- 作用:
用来记录文字(文本)信息
- 表示方式:
在非注释中凡是用引号括起来的部分都是字符串
‘’ 单引号
“” 双引号
‘’’ ‘’’ 三单引号
“”” “”” 三双引号
空字符串的字面值表示方式:
‘hello’
“hello”
‘’’hello ‘’’
“””hello “””
单引号和双引号的区别:
单引号内的双引号不算结束符
双引号内的单引号不算结束符
Print(“I am a teacher”)
Print (“I am “小白””)
三引号字符串的作用
三引号字符串可以包含单引号和双引号
三引号字符串中的换行符是会自动转换为‘/n’
- 字符串的运算
+=
*= 生成重复的字符串,再用原变量绑定
- 比较运算
运算符:< <= > >= == !=
比较规则:
依次按编码进行两两字符进行比较,一但不同,则比较结束,并返回比较结果,当编码值和长度完全相同时,两个字符串相同。
字符串编码转换函数:
ord(c)返回一个字符C的unicode编码值
chr(i)返回i这个值对应的字符
in not in 运算符
作用:
In 用于序列,字典,集合中,用于判断某个
not in 与之相反
字符串的基本操作
Python字符串是不可以改变的字符序列
- 索引取值语法:
字符串[整数表达式]
正向索引
反向索引
切片操作
作用:从字符串序列中取出相应的元素重新组成一个新的字符串
语法:
字符串[a:b(s)]
注:小括号()括起来的部分代表省略
说明:
开始索引是切片开始切下的位置,0代表第一个元素,1代表第二个元素,-1代表最后一个结束索引是切片的终止索引,(但不包含终止点)
步长是切片每次获取玩当前元素后移动的方向和偏移量
- 没有步长,相当于步长为1(默认为1)
- 当步长为正整数时,取正向切片:开始索引默认是最后一个元素的下一个位置
- 当步长为负整数时,取反向切片:反向切片时,默认的起始位置为最后一个元素,终止位置是第一个元素的前一个位置
练习
写程序输入一个字符串,打印字符串中的如下内容
- 打印这个字符串的第一个字符
- 打印这个字符串的最后一个字符
- 如果这个字符串的长度是奇数,打印中间这个字符
1 def dy(n): 2 print(n[0]) 3 print(n[-1]) 4 if len(n)%2==1: 5 x=int((len(n))/2) 6 print(n[x]) 7 num=input("请输入一串字符串") 8 dy(num)
字符串的格式化表达式
作用:
生成一定格式的字符串
运算符%
语法格式:
格式化字符串%参数值
格式化字符串%(参数1,参数2,参数3,……)
说明:
格式化字符串中以%开头的字符串占位符的位置将用参数代替
练习:
- 输入三行文字,让这三行文字依次以20个字符的宽度右对齐
如:
请输入第一行:hello world
请输入第二行:abcd
请输入第三行:aaaaaaa
打印结果如下:
Hello world
Abcd
Aaaaaaaa
1 def dq(n): 2 x=20 3 p='%%%ds'%x 4 print(p%n) 5 fl=input("请输入第一行") 6 sd=input("请输入第二行") 7 td=input("请输入第三行") 8 dq(fl) 9 dq(sd) 10 dq(td) 11 # rol=1 12 # kk=20-len(fl) 13 # kl=' ' 14 # print(kk*kl,end=fl)
2. 有字符串‘hello’
生成新的字符串:
‘h-e-l-l-o’
提示:用到文本解析办法join方法
1 n=input("输入:") 2 str="-" 3 print(str.join(n))
循环语句
while循环 for循环
while语句
作用
根据一定条件,重复执行一条或多条语句
语法:
while 真值表达式
语句块1(此部分的语句可能或重复执行多次)
else
语句块2
说明:
1先执行真值表达式,得到布尔值为true或flase
2.如果真值表达的值为true,则执行语句块1,然后再次返回到第一步,重复进行测试真值表达式的值。
3.如果真值表达的值为false,则执行语句块2,然后结束while语句的执行
注意:
else子句部分可以省略(同if语句类似)
while语句的注意事项:
1、创建并初始化一个控制while循环的变量
2、通过真值表达式来控制循环体
3、通常用循环变量来控制循环条件,防止死循环。
练习:
1、用while循环打印1~20的整数(可以打印多行)
1 n=input("输入:") 2 str="-" 3 print(str.join(n))
2、用while循环打印1~20整数,打印在一行显示,每个数字之间用一个空分隔
1 i=20 2 while i>0: 3 print(i,end=' '), 4 i=i-1
3、用while循环打印1 20的整数,每行打印5个,打印4行
1 i=19 2 while i>=0: 3 print(i+1,end=' ') 4 if i%5==0: 5 print("\n") 6 i=i-1
打印金字塔
*
**
***
****
*****
1 row=1 2 while row<=5: 3 col=1 4 while col<=row: 5 print("*",end="") 6 col+=1 7 print(" ") 8 row+=1 9 kk="*****" 10 kl=1 11 while kl<=5: 12 print(kk[0:kl]) 13 kl+=1
练习:
输入整数n,打印指定宽度的正方形
输入5
打印
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
打印99乘法表
1 k=1 2 while k<=5: 3 for i in range(1,6): 4 print(i,end="") 5 print("") 6 k+=1 7 j=1 8 while j<=9: 9 m=1 10 while m<=j: 11 print(j,"*",m,"=",j*m,end=" ") 12 m+=1 13 j+=1 14 print("\n")
break语句
问题:
如果在循环过程中不想再继续循环语句的执行了,怎么办?,,可以用break语句结束循环作用:
用于循环语句(while, for语句中),用来终止当前循环语句
说明:
当break语句执行后,此循环语句break之后的语句将不再执行
break语句通常和if语句组合使用
break语句终止循环时,循环语句的else子句的语句不会执行
break语句只能终止当前循环语句的执行,如果有循环嵌套时,不会跳出嵌套的外重循环
break语句只能在循环语句(while,for语句)的内部使用
for循环
作用:
用来遍历可迭代对象的数据元素
可迭代对象是指能依次获取数据元素的对象语法:
for变量列表in可迭代对象:
语句块1 (此处可能重复执行的语句块)
else:
语句块2
说明:
当前循环体内用break终止循环时,else 子句部分的语句不会执行else子句部分可以省略
range()函数
range (stop)用来生成0 stop区间内的整数,直到stop为止(不包含stop)
range (star, stop[, step])用来生成start stop区间内的整数,直到stop为止(不包含stop) , 每个整数间隔step
作用:
用来创建一个生成. 系列整数的可迭代对象(也叫做序列生成器)