鱼C论坛

 找回密码
 立即注册
查看: 2554|回复: 26

[已解决]字符串格式化问题

[复制链接]
发表于 2021-3-29 20:22:57 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
代码是这样的,报错了
>>> 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换算成一个十进制一个二进制,它怎么就少参数了
求解,谢谢
最佳答案
2021-3-29 20:42:21
柿子饼同学 发表于 2021-3-29 20:40
是我搞错了
那怎么把他变成二进制呢

n = 5

print('%d %s'%(n, bin(n)))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-3-29 20:31:04 From FishC Mobile | 显示全部楼层
多个参数时应该用小括号扩起来,中间用逗号分隔,
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-3-29 20:31:42 From FishC Mobile | 显示全部楼层
正常来说应该这样写:print('%d %b'%(n, n))
但这个%b也是错的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-3-29 20:35:29 | 显示全部楼层
这种格式化方法中没有%b这个选项

字符串格式化符号含义

符号
说明
%c
格式化字符及其 ASCII 码
%s
格式化字符串
%d
格式化整数
%o
格式化无符号八进制数
%x
格式化无符号十六进制数
%X
格式化无符号十六进制数(大写)
%f
格式化浮点数字,可指定小数点后的精度
%e
用科学计数法格式化浮点数
%E
作用同 %e,用科学计数法格式化浮点数
%g
根据值的大小决定使用 %f 或 %e
%G
作用同 %g,根据值的大小决定使用 %f 或者 %E

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-3-29 20:35:42 | 显示全部楼层
本帖最后由 柿子饼同学 于 2021-3-29 20:37 编辑
hrp 发表于 2021-3-29 20:31
正常来说应该这样写:print('%d %b'%(n, n))
但这个%b也是错的

%b不是格式化二进制数么,刚试了一下,又错了,%b应该怎么用呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-3-29 20:36:46 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-3-29 20:37:16 From FishC Mobile | 显示全部楼层
柿子饼同学 发表于 2021-3-29 20:35
%b不是格式化二进制数么

不清楚哦,我只能确定在3.6中是没有%b这个写法
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-3-29 20:37:52 | 显示全部楼层
wp231957 发表于 2021-3-29 20:31
多个参数时应该用小括号扩起来,中间用逗号分隔,

好的,谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-3-29 20:38:50 | 显示全部楼层
洋洋痒 发表于 2021-3-29 20:36
https://fishc.com.cn/forum.php?mod=viewthread&tid=92997&extra=page%3D1%26filter%3Dtypeid%26typeid% ...

可能和format搞混了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-3-29 20:40:08 | 显示全部楼层
洋洋痒 发表于 2021-3-29 20:36
https://fishc.com.cn/forum.php?mod=viewthread&tid=92997&extra=page%3D1%26filter%3Dtypeid%26typeid% ...

那怎么将字符串变成二进制呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-3-29 20:40:27 | 显示全部楼层
柿子饼同学 发表于 2021-3-29 20:40
那怎么将字符串变成二进制呢

format呗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-3-29 20:40:34 From FishC Mobile | 显示全部楼层
柿子饼同学 发表于 2021-3-29 20:37
好的,谢谢

虽然计算机中除了01并没有其他
但是它又没办法把01展现给终端客户
所以我们看到的01都是字符串,所以就没有%b
这个写法
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-3-29 20:40:42 | 显示全部楼层
hrp 发表于 2021-3-29 20:37
不清楚哦,我只能确定在3.6中是没有%b这个写法


是我搞错了
那怎么把他变成二进制呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-3-29 20:42:03 | 显示全部楼层
本帖最后由 柿子饼同学 于 2021-3-29 20:43 编辑
wp231957 发表于 2021-3-29 20:40
虽然计算机中除了01并没有其他
但是它又没办法把01展现给终端客户
所以我们看到的01都是字符串,所以就 ...


那为什么format里可以呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-3-29 20:42:21 From FishC Mobile | 显示全部楼层    本楼为最佳答案   
柿子饼同学 发表于 2021-3-29 20:40
是我搞错了
那怎么把他变成二进制呢

n = 5

print('%d %s'%(n, bin(n)))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-3-29 20:42:35 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-3-29 20:43:42 | 显示全部楼层
hrp 发表于 2021-3-29 20:42
n = 5

print('%d %s'%(n, bin(n)))

谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-3-29 20:44:26 From FishC Mobile | 显示全部楼层
柿子饼同学 发表于 2021-3-29 20:42
那为什么format里可以呢

看15楼,就是%s啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-3-29 20:47:56 | 显示全部楼层
wp231957 发表于 2021-3-29 20:44
看15楼,就是%s啊


%d也可以吧,但是好像没办法区分二进制和十进制
>>> print('%d'%10110110)
10110110
它返回的还是二进制的呀
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-3-29 20:49:32 From FishC Mobile | 显示全部楼层
柿子饼同学 发表于 2021-3-29 20:47
%d也可以吧,但是好像没办法区分二进制和十进制

它返回的还是二进制的呀

错,%d只能展现10进制
二进制用%s
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-16 05:03

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表