字符串的格式化+循环

Posted 午间小憩

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字符串的格式化+循环相关的知识,希望对你有一定的参考价值。

字符串的格式化  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 ,以;分隔,最后还会产生一段空






以上是关于字符串的格式化+循环的主要内容,如果未能解决你的问题,请参考以下文章

C#VS快捷键

C#VS快捷键

如何从我的 DatePicker 片段中传输格式化的日期字符串?

常用python日期日志获取内容循环的代码片段

如何将字符串数据从活动发送到片段?

使用从循环内的代码片段中提取的函数避免代码冗余/计算开销