枫枫duck 发表于 2021-9-21 20:35:58

字符串格式化

q = True
while q:
    num = input('请输入一个整数(输入Q结束程序):')
    if num != 'Q':
      num = int(num)
      print('十进制 -> 十六进制 : %d -> 0x%x' % (num, num))
      print('十进制 -> 八进制 : %d -> 0o%o' % (num, num))
      print('十进制 -> 二进制 : %d -> ' % num, bin(num))
    else:
      q = False



2进制那行看不懂,为什么括号左边没有了,

wp231957 发表于 2021-9-21 20:38:15

bin是一个函数,啥玩意左边没有了,莫名其妙的

冬雪雪冬 发表于 2021-9-21 22:47:37

可以写成与上面类似的样式
print('十进制 -> 二进制 : %d -> %s'%(num, bin(num)))

逃兵 发表于 2021-9-22 08:13:22

格式不一样,上面两个是print一个字符串
二进制是print 两个字符串
print(a,b)
其中a = '十进制 -> 二进制 : %d -> ' % num
b = bin(num)

只格式化了一个字符

在格式化字符串中,你一定要看仔细,一共有几个占位符就格式化几个字符

Python初学者8号 发表于 2021-9-22 09:07:07

我懂你的意思了>>> num = 8
>>> print('十进制 -> 二进制 : %d -> ' % num, bin(num))
十进制 -> 二进制 : 8 ->0b1000
这样看你是不是清楚一点啊,字符串中间一个%,对应字符串外面的哪个,然后将num传递进来

枫枫duck 发表于 2021-9-22 19:49:01

冬雪雪冬 发表于 2021-9-21 22:47
可以写成与上面类似的样式
print('十进制 -> 二进制 : %d -> %s'%(num, bin(num)))

是不是前面用元组传两个值进去,2进制只传了一个,另一个直接打印出来了
谢谢

冬雪雪冬 发表于 2021-9-22 20:25:16

枫枫duck 发表于 2021-9-22 19:49
是不是前面用元组传两个值进去,2进制只传了一个,另一个直接打印出来了
谢谢

是的

枫枫duck 发表于 2021-9-22 21:59:07

冬雪雪冬 发表于 2021-9-22 20:25
是的

谢谢
页: [1]
查看完整版本: 字符串格式化