鱼C论坛

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

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

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

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

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

x
代码是这样的,报错了
  1. >>> n = 52
  2. >>> print('%d %b'%n%n)
  3. Traceback (most recent call last):
  4.   File "<pyshell#1>", line 1, in <module>
  5.     print('%d %b'%n%n)
  6. 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)))
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-3-29 21:59:16 | 显示全部楼层
哇,谢谢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-3-29 21:52:35 From FishC Mobile | 显示全部楼层
柿子饼同学 发表于 2021-3-29 21:49
啊不加前缀只能是十进制啊

是的,不加前缀代表十进制

我重新编辑了,你看一下
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-3-29 21:49:42 | 显示全部楼层
hrp 发表于 2021-3-29 21:48
你这写的不是二进制,是十进制。
在Python中
二进制要这样写:0b1011

啊不加前缀只能是十进制啊
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-3-29 21:48:01 From FishC Mobile | 显示全部楼层
本帖最后由 hrp 于 2021-3-29 21:53 编辑
柿子饼同学 发表于 2021-3-29 21:17
可是返回的是一样的呀,而且在字符串里,返回的字符串一样就行了吧?


你这写的不是二进制,是十进制。
你这样写的意思分别是:
将1011直接格式化为字符串
将1011格式化为整数格式的字符串

在Python中
二进制要这样写:0b1011
相应的,其他进制也有相应的写法
八进制:0o 前缀
十六进制:0x 前缀
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-3-29 21:17:06 | 显示全部楼层
wp231957 发表于 2021-3-29 20:52
你懵了吧,你用计算器看一下10110110它的二进制是多少??
  1. >>> print('%s'%1011)
  2. 1011
  3. >>> print('%d'%1011)
  4. 1011
复制代码

可是返回的是一样的呀,而且在字符串里,返回的字符串一样就行了吧?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-3-29 21:12:59 | 显示全部楼层
wp231957 发表于 2021-3-29 20:52
你懵了吧,你用计算器看一下10110110它的二进制是多少??

啊这
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

它返回的还是二进制的呀

你懵了吧,你用计算器看一下10110110它的二进制是多少??
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

它返回的还是二进制的呀

错,%d只能展现10进制
二进制用%s
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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


%d也可以吧,但是好像没办法区分二进制和十进制
  1. >>> print('%d'%10110110)
  2. 10110110
复制代码

它返回的还是二进制的呀
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

看15楼,就是%s啊
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

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

谢谢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-3-29 20:42:35 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

n = 5

print('%d %s'%(n, bin(n)))
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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


那为什么format里可以呢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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


是我搞错了
那怎么把他变成二进制呢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

虽然计算机中除了01并没有其他
但是它又没办法把01展现给终端客户
所以我们看到的01都是字符串,所以就没有%b
这个写法
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

format呗
小甲鱼最新课程 -> https://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% ...

那怎么将字符串变成二进制呢
小甲鱼最新课程 -> https://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搞混了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-10-5 07:36

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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