赞
踩
1、字符串格式表达式
运算符
%
作用:
生成一定格式的字符串
语法;
格式字符串%参数值
格式字符串%(参数值1,参数值2,...)
格式化字符串中的%为占位符,占位符的位置将用参数值替换
实例: str- fomart.py
fmt = ‘姓名:_%s_,年龄:_%d_’
name = input('请输入姓名: ’)
age = int(input('请输入年龄:’)
s = name:%s,(name age)
格式化字符串中的占位符和类型码
占位符 意义
%s 字符串,使用str函数转换
%r 字符串,使用repr函数转换
%c 整数转为单个字符
%d 十进制整数
%o 八进制整数
%x 十六进制整数(a-f小写)
%X 十六进制整数(A-F大写)
%e 指数形浮点数(e小写)如:2.9e+10
%f,%F 浮点十进制形式
%g,%G 十进制形式浮点数或指数浮点数自动转换
%% 等同于一个%字符
2、占位符和类型码之间的格式语法
格式:
%[-+0 宽度.精度]类型码
-左对齐(默认是右对齐)
+ 显示正号
0 左侧空白位置补零
宽度: 整个数据输入的宽度
精度; 保留小数点后多少位(默认是6位)
示例 :
‘%10d’ %123 # ‘ 123’
‘%-10d’%123 # ‘123 ’
%10s’ %‘abc’ # ‘ abc’
%05d’ %‘123’ # ‘00123’
‘%-+5d’ %‘123’ # ‘+123’
练习:
输入三行文字,让这三行文字依次以20个字符串的宽度右对齐
输出:
如:
请输入第一行:hello world
请输入第二行: asd
请输入第三行: a
结果输出:
hello world
asd
a
答案:
#a = input('请输入第一行文字:')
#b = input('请输入第一行文字:')
#c = input('请输入第一行文字:')
#print ('%20s' %a)
#print ('%20s' %b)
#print ('%20s' %c)
练习:
写一个程序,定义一个合同的模板:
《合同》
甲方:----------- 乙方: _______
合同金额:————元
....
日期:______年_____月_____日
写程序输入相应的参数,打印出完整的合同文本信息:
如:
请输入甲方姓名:*****
请输入乙方姓名:*****
请输入合同金额:10000
请输入年:
3、循环语句:
问题:如何回到程序 的前面继续执行可以用循环语句实现
循环语句有:
while语句:
作用:
根据一定条件,重复的执行一条语句或多条语句
语法:
while 真值表达式:
语句块1
else:
语句块2
说明:
1.先执行真值表达式1,测试布尔值是否为True
2.如果真值表达式的值为True,则执行语句1,然后再返回到第一步,重复进行检测
3.如果真值表达式的值为False,则执行else,语句2,然后结束此while语句,如果没有else子句,则直接结束此while语句的执行
4.else 子句部分可以省略(同if类型)
示例:
练习:
1.输入一个整数n,打印0~n之间的整数(不包含n),每个数字打印一行
n = int(input('请输入一个整数:'))
i = 0
while i < n:
print(i)
i += 1
2.打印1~20的整数,打印在一行内,每一个数字之间 用一个空格分隔开。
1 2 3 4 5 ...... 18 19 20
(提示:print (x,end = ''))
3.打印1~20的整数,每一行打印5个,打印四行
如:
1 2 3 4 5
6 7 8 9 10
....20
(提示:if语句可以嵌入while语句中使用)
4.
5.
#2
i = 1
while i <= 20:
print (i,end=' ')
i += 1
print('')
#3
i = 1
while i <= 50:
print(i,end = ' ')
if i % 5 == 0:
print('')
i += 1
print('')
#4
begin = int(input('请输入一个开始的整数:'))
end = int(input('请输入一个结束的整数:'))
i = begin
while i < end:
print(i,end=' ')
i += 1
else:
print()
#5
begin = int(input('请输入一个开始的整数:'))
end = int(input('请输入一个结束的整数:'))
i = begin
while i < end:
print(i,end=' ')
if (i - begin) %5 == 4
i += 1
else:
print()
6.用while 语句打印10~1的整数
i = 11
while i > 1:
i -= 1
print(i)
7.输入一个开始的浮点数用begin绑定,输入一个结束的浮点数用end绑定,输入每个数的间隔用step来绑定
如: 请输入开始数:5
请输入结束数:20
请输入步数: 3
打印如下数字(不包含end):
5 8 11 14 17
8.输入一个字符串,将字符串中Unicode编码值最大的一个字符的编码值和这个字符打印出来
4、while 语句的注意事项:
1.要控制循环的真值表达式来防止死循环
2.通常用真值表达式内的循环变量来控制循环条件
3.通常在循环语句块内改变循环变量来控制循环的次数和变量的走向
2while 语句嵌套:
whlie语句本身也是语句,和其它语句一样,可以嵌入if语句和while语句
示意:
while 真值表达式:
....
whlie 真值表达式2:
....
else:
....
else:
....
练习 :输入一个整数,打印指定宽度的正方形:
打印结果如下:
123456
123456
123456
123456
123456
123456
n = int(input('请输入一个整数: '))
line = 1
while line <= n:
i = 1
while i <= n:
print(i,end=' ')
i += 1
print()
line += 1
break 语句
问题:
如果在循环过程中我不想在继续此循环语句的执行了,怎么办?
作用:
用于循环语句(while,for语句)中,
用来终止当前循环语句的执行
说明:
1.当break语句执行后,此循环语句break之后的语句将不再执行
2.break 语句通常和if语句组成使用
3.break
语句终止循环时,循环语句的else子句的语句不会被执行
4.beeak 语句只能终止当前循环语句的执行,如果有循环嵌套时,不会跳出嵌套的外重循环
5.break 语句只能用在循环语句(while 或for)内部使用
死循环
死循环是指条件一直成立的循环
死循环通常用break语句来终止循环
死循环的else子句永远不会执行
练习:
1.写程序,求1+2+3+4+99+100的和(建议用循环语句来做)
2.输入一个整数n,求下列多项式的和sn = 1+1/2+1/4+1/8+...+1/(2**n)
3.写程序,输入一个整数n代表直角三角形的宽度,打印出相应的直角三角形。
如:
请输入三角形宽度:
打印如下:
*
**
***
****
4.修改第3题,打印如下的三角形:
*
**
***
****
5.修改第3题,打印如下三角形:
****
***
**
*
6.修改第3题,打印如下三角形:
****
***
**
*
答案:
#1计算0~100直接的相加求和
a = 0
#a代表相加的结果
i = 1
#i代表一个变量
while i <= 100:
print(i)
#处理计数器
a += i
#每一次循环都让a 结果和i相加
i += 1
#处理计数器
print('1~100的数字求和结果: %d' %a)
#2
#n =int(input('请输入一个整数:'))
#i = 0
#b = 1
#while i < n:
# i += 1
# a =1/(2**i)
# b += a
#print(b)
#3 #4
n =int(input('请输入三角形的宽度:'))
i = 0
while i < n:
i = i + 1
a = i*'*'
print(a)
n =int(input('请输入三角形的宽度:'))
i = 0
while i < n:
i = i + 1
a = (n-i)*' '+i*'*'
print(a)
5.修改第3题,打印如下的三角形:
****
***
**
*
#a=int(input('请输入三角形的宽'))
#b=a
#while 0<b<=a:
# c=('*'*b)
# fam='%%%ds' % a
# b-=1
# print(fam % c)
6.修改第三题,打印如下三角形:
****
***
**
*
a=int(input('请输入三角形的宽'))
b=1
while b<=a:
c=('*'*b)
b+=1
fam='%%%ds' % a
print(fam % c)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。