day04笔记
字符串格式化表达式(租房合同..)
运算符
%
作用:
生成一定格式的字符串
语法:
格式字符串 % 参数值
格式字符串 % (参数值1, 参数值2, ...)
格式字符串中的 % 为占位符,占位符的位置将用参数值替换
示例见:
str_fomart.py
格式化字符串中的占位符和类型码
占位符 意义
%s 字符串,使用str函数转换
%r 字符串,使用repr函数转换
%c 整数转为单个字符
%d 十进制整数
%o 八进制整数
%x 十六进制整数(a-f小写)
%X 十六进制整数(A-F大写)
%e 指数形浮点数(e小写) 如: 2.9e+10
%E 指数形浮点数(E大写) 如: 2.9E+10
%f, %F 浮点十进制形式
%g, %G 十进制形式浮点数或指数浮点数自动转换
%% 等同于一个%字符
占位符和类型码之间的格式语法
格式:
% [- + 0 宽度.精度] 类型码
说明:
- 左对齐(默认是右对齐)
+ 显示正号
0 左侧空白位置补零
宽度: 整个数据输入的宽度
精度: 保留小数点后多少位(默认是6位)
示例:
'%10d' % 123 # ' 123'
'%-10d' % 123 # '123 '
'%10s' % 'abc' # ' abc'
'%05d' % '123' # '00123'
'%-+5d' % 123 # '+123 '
练习:
输入三行文字,让这三行文字依次以20个字符的宽度右对齐输出:
如:
请输入第1行: hello world
请输入第2行: abcd
请输入第3行: a
输出结果为:
hello world
abcd
a
做完上面的题后再思考:
能否以最长字符串的长度进行右对齐显示(左侧填充空格)
练习:
写一个程序,定义一个合同的模板:
《合同》
甲方: ______ 乙方:______
合同金额: ____元
.....
日期:____年__月__日
写程序输入相应的参数,打印出完整的合同文本信息:
如:
请输入甲方姓名: xxxx
请输入乙方姓名: yyyy
请输入合同额: 10000
请输入年: 2018
.....
循环语句
问题:
如何返回到程序的前面在继续执行
可以用循环语句来实现
循环语句有:
while 语句
for 语句
while 语句
作用:
根据一定条件,重复的执行一条语句或多条语句
语法:
while 真值表达式:
语句块1
else:
语句块2
说明:
1. 先执行真值表达式, 测试布尔值是否为True
2. 如果真值表达式的值为True,则执行语句1,然后再返回到第1步,重复进行测试
3. 如果真值表达式的值为False,则执行else子句中的语句块2,然后结束此while语句,如果没有else子句,则直接结束此while语句的执行
4. else 子句部分可以省略(同 if类似)
示例见:
while.py
练习:
输入一个整数n, 打印 0 ~ n之间的整数(不包含n),
每个数字打印一行
练习:
1. 打印1~20的整数,打印在一行内,每个数字之间用一个 空格分隔
1 2 3 4 5 .... 18 19 20
(提示: print(x, end=''))
2. 打印1~20的整数,每行打印5个,打印四行
如:
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
......
(提示: if语句可以嵌入while语句中使用)
练习:
1. 输入一个开始的整数用变量begin绑定,输入一个结束的整数变量end绑定,打印从begin开始到end结束(不包含end)的全部整数(要求打印在一行内)
如:
请输入开始数:8
请输入结束数:20
8 9 10 11 12 ...... 18 19
2. 将上题改写为每5个数打印一行
练习:
1. 用while 语句打印 10 ~ 1的整数
2. 输入一个开始的浮点数用begin绑定,输入一个结束的浮点数用end绑定,输入每个数的间隔用step来绑定
如:
请输入开始数: 5
结束输结束数: 20
请输入步长: 3
打印如下数字(不包含end):
5 8 11 14 17
3. 输入一个字符串,将字符串中Unicode编码值最大的一个字符的编码值和这个字符打印出来
while 语句的注意事项:
1. 要控制循环的真值表达式的值来防止死循环
2. 通常用真值表达式内的循环变量来控制循环条件
3. 通常在循环语句块内改变循环变量来控制循环的次数和变量的走向
while 语句嵌套:
while 语句本身也是语句,和其它语句一样,可以嵌入if语句和while语句
示意:
while 真值表达式:
....
while 真值表达式2:
...
else:
...
else:
...
问题:
打印 1 ~ 20 的整数, 打印在一行内
1 2 3 4 5 ..... 18 19 20
打印以上10行这样的数
示例见:
while_embed.py
练习:
输入一个整数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
如: 输入4
打印如下:
1 2 3 4
1 2 3 4
1 2 3 4
1 2 3 4
break 语句
问题:
如果在循环过程中我不想再继续此循环语句的执行了,怎么办?
作用:
用于循环语句(while,for语句)中, 用来终止当前循环语句的执行
说明:
1. 当break语句执行后,此循环语句break之后的语句将不再执行
2. break 语句通常和if语句组合使用
3. break 语句终止循环时,循环语句的else子句的语句不会被执行
4. break 语句只能终止当前循环语句的执行,如果有循环嵌套时,不会跳出嵌套的外重循环
5. break 语句只能用在循环语句(while或for)内部使用
示例见:
break.py
break_while_embed.py
死循环
死循环是指条件一直成立的循环
死循环通常用break 语句来终止循环
死循环的else子句永远不会执行