day04
字符串格式化表达式
作用:
生成一定格式的字符串
运算符:
%
语法格式:
格式字符串 % 参数值
或
格式字符串 %(参数值1,参数值2,....)
说明:
%左侧为格式字符串
%右侧为参数值,当有多个参数值时用括号()括起来,并有逗号(,)分隔
格式化字符串中以%开头的占位符,占位符的位置将用参数值替换
示例;
1.
fmt="name"%s,"age"%d
s=fmt % ('weimingze',35)
print(s) #name:weimingze,age:35
2.
"温度:__%d__" %32
格式化字符串中的占位符和类型码
%s 字符串,使用str(X)将x转换为字符串
%r 字符串,使用repr(X)将x转换为字符串表达式''
%c 整数转换为单个字符 chr(x)
%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'
"%-10d" % 123 #'123 '
"%10s" % 'abc' #' abc'
"%-5s" % 'abc' #'abc '
"%010d" % 123 #'0000000123'
"%7.3f" % 3.141592535897932 #'3.141'
"%07.2f" % 3.141592535897932 #'0003.14'
练习:
1.任意输入三行文字,让这三行文字依次以20个字符的宽度右对齐显示输出
如:
请输入第一行:hello world
请输入第二行:abcd
请输入第三行:a
输出结果为:
hello world
abcd
a
思考:
能否以最长字符的长度进行右对齐显示(左侧填充空格)?
循环语句
有两条循环语句:
while语句
for语句
问题:
输入一个整数n,写程序打印如下n行字符串
这是第一行
这是第二行
这是第三行
这是第四行
...
这是第n行
如何让一条语句重复执行多次?
如果i是一个变量,
print('这是第',i,'行')
while语句:
作用:
根据一定的条件,重复执行一条语句或多条语句
语法:
while 真值表达式:
语句块1
else:
语句块2
说明:
1.先判断真值表达式,为True或False
2.如果为True,则执行语句块1,再回到第一步
3.如果为False,则执行语句块2,然后结束此while的执行
4.else子句部可以省略(同if语句)
示例:
while.py
while2.py
练习
1.打印1-20的整数,打印在一行内
123456789....18 19 20
2.打印1-20的整数,每行打印5个,打印四行
如:
1 2 3 4 5
6 7 8 9 10
.....
3.用while语句打印10-1的整数
10 9 8 7 6 5 4 3 2 1
4.打印从0开始的浮点数,每个数增加0.5,打印出10以内这样的数
0.0
0.5
1.0
1.5
...
9.5
5.写程序,计算:
1+2+3+4+5+6+.....+100
6.写一个程序:
输入一个开始的整数,用变量begin绑定
输入一个结束的整数,用变量end绑定
打印 从begin到end(不包含end)的每个整数
打印在一行内
如:输入开始值:8
请输入结束值:100
打印:
8 9 10 11 .... 99
思考:如何实现5个数打印在一行内,打印多行
while的注意事项:
要控制循环真值表达式的值来防止死循环
通常用真值表达式内的循环变量来控制循环条件
通常在循环语句块内改变循环变量来控制循环次数和量走向
while语句的嵌套
while语句本身是语句,和其它语句一样,可以嵌套到任何复合语句中
示例:
while 真值表达式1:
...
while 真值表达式2:
...
else:
...
else:
...
示例:
打印1-20的整数,打印在一行内
while.py
练习:
输入一个整数代表正方形的宽度,用变量n绑定,打印指定宽度的正方形
如:
请输入:5
打印如下:
12345
12345
12345
12345
break语句
作用:
用于循环语句中(while,for语句)中,
用来终止当前循环语句的执行
语法:
break
说明:
1. 当break语句执行后,此循环语句break之后的语句将不再执行
2.break语句通常和if语句组合使用
3.break语句终止循环时else子句的语句将不会再执行
4.break语句只能终止当前循环语句的执行,如果有循环嵌套时,不会跳出嵌套的外重循环
示例:
break.py
死循环:
死循环是指条件一直成立的循环
死循环通常用break语句来终止循环
死循环的else子句永远不会执行
示例:
death_loop.py
练习:
1. 任意输入一些正整数,当输入负数时结束输入
当输入完后,打印你输入的这些数的和
如:
请输入:1
请输入:2
请输入:3
请输入:4
请输入:-1
打印:
您刚才输入的这些数的和是:10
2.输入一个整数n,打印宽度为n个字符的正方形
如:
请输入:4
打印:
####
# #
# #
####
如:
请输入:6
打印:
#####
# #
# #
# #
# #
#####
练习:
1.求下列多项式的和
1+ 1/2 +1/4 +1/8 +......+ 1/2**1000的和
2.写程序求:
1-1/3+1/5-1/7+1/9+....+1/(2*n-1)的和
1)求当n等于10000时,此公式的和
2)将上述结果乘以4后打印出来(看看这个数是什么?)
3.用while语句打印三角形,输入一个整数,表示三角形的高度和宽度,打印出相应的直角三角形
如:
请输入三角形的宽度:4
1)打印如下三角形:
*
**
***
****
2)打印如下三角形:
*
**
***
****
3) 打印如下三角形:
****
***
**
*
4)打印如下三角形:
****
***
**
*