wangsiyang 发表于 2019-5-22 11:06:28

Python格式化符号及含义

本帖最后由 wangsiyang 于 2019-5-22 11:41 编辑

>>> '%c%c%c%c%c'%(70,105,115,104,67)
'FishC'   为什么会显示出这个?
>>>'%d转换为八进制是: %o'%(123,123)
'123转换为八进制是:173‘      这个这么在软件上操作,我打出来就是错误的。
>>> %o'%(123,123)
SyntaxError: invalid syntax
>>>'%f用科学计数法表示为:%e'%(149500000,149500000)这个这么操作呀

'%149500000e'%149500000 这个打出来也没有反应 是什么原因呀

x287208793 发表于 2019-5-22 11:39:57

你括号有两个参数,'%o%o' % (123,123),不知道对不对

shuofxz 发表于 2019-5-22 19:58:13

这是我的输出结果,都没什么问题吧
>>> '%c%c%c%c%c'%(70,105,115,104,67)
'FishC'
>>> '%d转换为八进制是: %o'%(123,123)
'123转换为八进制是: 173'
>>> '%f用科学计数法表示为:%e'%(149500000,149500000)
'149500000.000000用科学计数法表示为:1.495000e+08'
>>>


第一个FishC:%c是代表字符输出的意思,所以会把后面数字ascii码对应的字符打印出来,比如70对应F,105对应i

第二个,%d是十进制表示,%o是八进制表示

第三个,什么叫怎么操作??

后面那个 '%149500000e'%149500000,没有反应是因为这行代码把python程序卡住了。
正常写应该是 '%e'%149500000,%e就代表把后面的数字用科学计数法表示,在%和e中间加数字是代表输出的东西所占的长度,你写的这个太大了,把python程序搞崩了,打印不出来。
你可以试试 '%20e'%149500000,'%30e'%149500000,看看输出结果的差异
页: [1]
查看完整版本: Python格式化符号及含义