<h1>第4章 数据处理与验证</h1> 本章的主要框架 <b>4.1 数据格式化</b><div>format() 函数用于将一个数值进行格式化显示,其语法如下:</div><div><font color="#167efb">format(value[,format_spec])</font></div><div>参数说明如下:</div><div><font color="#167efb">value</font>: 要格式化的值。</div><div><font color="#167efb">format_spec:</font> 格式字符串,包括对齐方式,字段宽度,填充字符,小数精度等。</div><div>其参数语法格式如下:</div><div>[ <font color="#167efb">[fill] align</font>] [<font color="#167efb">sign</font>][#][0][width][,][.precision][type]</div><div>fill:可选参数,用于指定空白处填充的字符,默认为空格</div><div><b>align:对齐方式,配合width一起使用</b></div><div>'<':强制左对齐</div><div>'>':强制右对齐</div><div>'^':强制居中对齐</div><div>'=':强制内容右对齐,仅对数字有效</div><div><b><br></b></div><div><b>sign:可选参数,用于指定有无符号</b></div><div>'+’:表示正数前添加正号,负数前添加负号</div><div>'-' :表示正式不变,负数前增加负号</div><div>空格:表示正数前添加空格,负数前添加负号</div><div><br></div><div>例如</div><div>print(format(521,'20')) #数字,默认为右对齐,宽度为20</div><div>print(format('mrsoft','20') #字符,默认为左对齐,宽度为20</div><div>print(format('mrsoft','>20') #字符串,右对齐,宽度为20</div><div>print(format(521,'0=20') #右对齐,宽度为20,用0补充</div><div>填充字符仅能为1个</div><div><br></div><div><font color="#167efb">通过format()指定有无符号输出</font></div><div>print(format(7.891,'+.2f') #值为'+',正数前添加正号,且保留2位小数</div><div>print(format(-7.891,'+.2f') #值为'+',负数前添加负号</div><div><br></div><div><font color="#167efb">通过format()保留小数位数</font></div><div>print(format(6.6821157112,'<font color="#167efb">f</font>') #默认保留小数点后6位</div><div>print(format(1.714159,'.<font color="#167efb">0</font>f') #不带小数</div><div><br></div><div><font color="#167efb">通过format()函数进行进制转换</font></div><div>print(format(20,'b')) #十进制转二进制数</div><div>print(format(20,'o') #十进制转八进制数</div><div>print(format(20,'X') #十进制转十六进制数<br></div><div><br></div><div><br></div> <b>4.2 数据验证</b><div><font color="#167efb">1.字符串中的isalnum(),isdigit()方法</font></div><div>str.isalnum():所有字符都是数字或字母</div><div>str.isdigit():所有字符都是数字</div><div>str.islower():所有字符都是小写</div><div>str.isupper():所有字符都是大写</div><div>str.istitle():所有单词首字母都是大写,像标题</div><div>str.isspace():所有字符都是空白字符、\t、\n、\r。</div><div><br></div><div>例如:判断输入的字符是否是数字。</div><div>if ('请输入数字验证码:').isdigit():</div><div> print(' 正在登陆')</div><div>else:</div><div> print('非法输入,请重新输入!')</div><div><br></div><div><font color="#167efb">2.通过字符的ASCII码进行验证</font></div><div><font color="#333333"><br></font></div><div><font color="#333333">案例:对输入的数字进行数字验证,只允许输入数字1-7中的5个数字。</font></div><div><font color="#333333">基本思路如下:</font></div><div><font color="#333333">输入5位数字验证码</font></div><div><font color="#333333">设置标志符</font></div><div><font color="#333333">判断输入的是否不是5位数字</font></div><div><font color="#333333">如果不是,那么提示“重新输入”</font></div><div><font color="#333333">如果是,那么设置循环,从第1位数字开始判断</font></div><div><font color="#333333">如果数字的ASCII码不在从1到8之间,</font></div><div><font color="#333333">提示"输入非数字字符"</font></div><div><font color="#333333">程序中断</font></div><div><font color="#333333">否则,则显示“正在登陆”</font></div><div><font color="#333333"><br></font></div><div><font color="#333333">instr=('请输入5位数字验证码:').strip(' ') </font></div><div><font color="#333333">isgo='go'</font></div><div><font color="#333333">if len(instr)!=5: </font></div><div><font color="#333333"> print('输入非5位数字,请重新输入!')</font></div><div><font color="#333333"> isgo='no'</font></div><div><font color="#333333">else:</font></div><div><font color="#333333"> for i in instr:</font></div><div><font color="#333333"> if ord(i) not in range(ord('1'),ord('8')):</font></div><div><font color="#333333"> print('输入了非数字字符,请重新输入!')</font></div><div><font color="#333333"> isgo='no'</font></div><div><font color="#333333"> break</font></div><div><font color="#333333">if isgo=='go':</font></div><div><font color="#333333"> print('正在登陆!')</font></div>