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