字符串的格式化 format % values,
format 是等待格式化的字符串,由包含%号的占位符的字符串组成的
values可以是普通的数值对象、字符串对象。tuple,表示多个对象填充format里面的占位符%
%s 用str()函数进行字符串转换
%d 转成有符号十进制数
%f 转成浮点数(小数部分自然截断)
%x 转成无符号十六进制数(x/X代表转换后的十六进制字符的大小写)
指定宽度:
‘%10d’ %56 #最小宽度为10,不足空格补齐
‘%010d’ %56 #最小宽度为10,不足零补齐
‘%x’ %108 #十六进制小写
‘%X’ %108 #十六进制大写
‘%#x’ %108 #显示ox,十六进制小写
‘%#X’ %108 #显示OX,十六进制大写
‘%f’ %1234.567890 浮点数
‘%.2f’ %1234.567890 小数点后面保留两位
‘%9.2f’ %1234.567890 共九位,小数点后面保留两位,不足九位前面空格补齐
‘%09.2f’ %1234.567890 共九位,小数点后面保留两位,不足九位前面零补齐
字符串的format方法
使用format()内置函数格式化每个参数
>>>'my name is { }'.format('jcy')
'my name is jcy'
>>>'my name is {name], I am {age}'.format(name = 'jcy',age =16)
'my name is jcy,I am 16 years old'
指定宽度
'{ }'.format(56)
'{:10}'.format(56) #最小宽度为10,不足空格补齐
‘{:<10}'.foramt(56) #左对齐
‘{:010}.format(56)’ #最小宽度为10,不足零补齐
十六进制
‘{:x}’.format(108) 十六进制小写
‘{:X}’.format(108) 十六进制大写
‘{:#X}’.format(108) 显示ox,十六进制大写
‘{:#x}’.format(108) 显示ox,十六进制小写
小数
‘{ }’.format(1234.567890)
‘{:.2f }’.format(1234.567890) #小数点后保留两位
‘{:9.2f }’.format(1234.567890) #共九位,小数点后保留两位,不足九位空格补齐
‘{:09.2f }’.format(1234.567890) #共九位,小数点后保留两位,不足九位零补齐
‘{:09.2f }’{{ }}.format(1234.567890) #如果字符串内本身就有花括号
Python3.6 以后(新特性网址:https://docs.python.org/3/whatsnew/3.6.html
>>>name = "Fred"
>>>f"He said his name is {name }."
'He said his name is Fred.'
字符串里面常常会有一些特殊字符以\开头
字符终端的输入 input
等待输入,不输入就一直等待
用户的输入是以一个回车符结束
用户的输入作为返回值,给程序后面使用
返回都是字符串
循环
流程控制:循环和条件判断
流程离不开循环
循环就是重复的执行某个代码段
while循环 当某个条件成立时,一直执行某个动作
while 条件表达式:
循环代码
条件表达式结果为true的时候,循环代码会一直执行直到条件表达式结果为false
cur = 1
while cur <= 100:
print (cur)
cur = cur +1
死循环
while True:
print ('press ctrl+C to exit')
for 循环
打印出列表里所有学生的姓名
['Mike','Jack','Mary','Pat','Will','Lisa']
while 循环
student = ['Mike','Jack','Mary','Pat','Will','Lisa']
idx = 0
while idx < len(students):
print student[idx]
idx += 1
for 循环
student = ['Mike','Jack','Mary','Pat','Will','Lisa']
for one in student:
print (one)
for循环适用场景
从list、tuple里面获取每个元素进行处理
已知固定的循环次数 range xrange
Python2 range xrange 两者的区别
range 函数返回的是一个列表,而xrange像一个生成器
如果需要遍历一个很大的数字范围,用xrange,因为节省内存
python3 range类似python2的xrange
for one in range(1,101):
print (one)
break 语句
continue语句:只是本次循环剩余语句不执行,后面的循环继续
注释
全行注释
行内注释
多行注释 #####或三引号
函数 doc string
*****************************
作业:
请实现一个程序,实现如下需求点
1.程序开始的时候提示用户输入学生年龄信息 格式如下:
Jack Green , 21 ; Mike Mos, 9; 我们假设 用户输入 上面的信息,必定会遵守下面的规则: 学生信息之间用分号隔开(分号前后可能有不定数量的空格), 学生姓名长度最多不超过20个字符。 每个学生信息里的 姓名和 年龄之间用 逗号隔开(逗号前后可能有不定数量的空格) 。 输入学生的数量不限 2. 程序随后将输入的学生信息分行显示,格式如下 Jack Green : 21; Mike Mos : 09; 学生的姓名要求左对齐,宽度为20, 年龄信息右对齐,宽度为2位,不足前面补零
我的答案:
点评:少些了if...continue ,以;分隔,最后还会产生一段空