字符串格式化问题
代码是这样的,报错了>>> n = 52>>> print('%d %b'%n%n)
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
print('%d %b'%n%n)
TypeError: not enough arguments for format string我就很奇怪,为什么它说参数不够,把52换算成一个十进制一个二进制,它怎么就少参数了{:10_306:}
求解,谢谢{:10_254:}
多个参数时应该用小括号扩起来,中间用逗号分隔, 正常来说应该这样写:print('%d %b'%(n, n))
但这个%b也是错的 这种格式化方法中没有%b这个选项
字符串格式化符号含义
符号
说明
%c
格式化字符及其 ASCII 码
%s
格式化字符串
%d
格式化整数
%o
格式化无符号八进制数
%x
格式化无符号十六进制数
%X
格式化无符号十六进制数(大写)
%f
格式化浮点数字,可指定小数点后的精度
%e
用科学计数法格式化浮点数
%E
作用同 %e,用科学计数法格式化浮点数
%g
根据值的大小决定使用 %f 或 %e
%G
作用同 %g,根据值的大小决定使用 %f 或者 %E
本帖最后由 柿子饼同学 于 2021-3-29 20:37 编辑
hrp 发表于 2021-3-29 20:31
正常来说应该这样写:print('%d %b'%(n, n))
但这个%b也是错的
%b不是格式化二进制数么,刚试了一下,又错了,%b应该怎么用呢 柿子饼同学 发表于 2021-3-29 20:35
%b不是格式化二进制数么
https://fishc.com.cn/forum.php?mod=viewthread&tid=92997&extra=page%3D1%26filter%3Dtypeid%26typeid%3D403 柿子饼同学 发表于 2021-3-29 20:35
%b不是格式化二进制数么
不清楚哦,我只能确定在3.6中是没有%b这个写法 wp231957 发表于 2021-3-29 20:31
多个参数时应该用小括号扩起来,中间用逗号分隔,
好的,谢谢 洋洋痒 发表于 2021-3-29 20:36
https://fishc.com.cn/forum.php?mod=viewthread&tid=92997&extra=page%3D1%26filter%3Dtypeid%26typeid% ...
可能和format搞混了{:10_266:} 洋洋痒 发表于 2021-3-29 20:36
https://fishc.com.cn/forum.php?mod=viewthread&tid=92997&extra=page%3D1%26filter%3Dtypeid%26typeid% ...
那怎么将字符串变成二进制呢 柿子饼同学 发表于 2021-3-29 20:40
那怎么将字符串变成二进制呢
format呗 柿子饼同学 发表于 2021-3-29 20:37
好的,谢谢
虽然计算机中除了01并没有其他
但是它又没办法把01展现给终端客户
所以我们看到的01都是字符串,所以就没有%b
这个写法 hrp 发表于 2021-3-29 20:37
不清楚哦,我只能确定在3.6中是没有%b这个写法
是我搞错了{:10_266:}
那怎么把他变成二进制呢 本帖最后由 柿子饼同学 于 2021-3-29 20:43 编辑
wp231957 发表于 2021-3-29 20:40
虽然计算机中除了01并没有其他
但是它又没办法把01展现给终端客户
所以我们看到的01都是字符串,所以就 ...
那为什么format里可以呢 柿子饼同学 发表于 2021-3-29 20:40
是我搞错了
那怎么把他变成二进制呢
n = 5
print('%d %s'%(n, bin(n))) 洋洋痒 发表于 2021-3-29 20:40
format呗
啊这
hrp 发表于 2021-3-29 20:42
n = 5
print('%d %s'%(n, bin(n)))
谢谢{:10_254:} 柿子饼同学 发表于 2021-3-29 20:42
那为什么format里可以呢
看15楼,就是%s啊 wp231957 发表于 2021-3-29 20:44
看15楼,就是%s啊
%d也可以吧,但是好像没办法区分二进制和十进制{:10_269:}
>>> print('%d'%10110110)
10110110
它返回的还是二进制的呀 柿子饼同学 发表于 2021-3-29 20:47
%d也可以吧,但是好像没办法区分二进制和十进制
它返回的还是二进制的呀
错,%d只能展现10进制
二进制用%s
页:
[1]
2