Hedy_Z 发表于 2021-4-19 14:09:52

十进制转换二进制

老版python 第15课 动动手0题

print('十进制 -> 十六进制 : %d -> 0x%x' % (num, num))
print('十进制 -> 八进制 : %d -> 0o%o' % (num, num))
print('十进制 -> 二进制 : %d -> ' % num, bin(num))

这三个print里:
1)两个括号里的num分别代表什么?为什么不能写成 '%d'%num ->'0x%x'%num?
2)第三个print里,为什么num, bin(num) 没有小括号括起来?

谢谢。

柿子饼同学 发表于 2021-4-19 20:55:08

{:9_241:}

柿子饼同学 发表于 2021-4-19 21:06:49

1) 你这个num就是一个数,之前可以定义的
写法的话,你那个箭头没加引号,这样就行了,几个要打印的东西要用逗号隔开,sep就是用来控制几个要打印东西中间的东西,可以自己试试
>>> num = 4
>>> print('%d'%num, '->', '0x%x'%num, sep = '')
4->0x4
不过你没发现小甲鱼的写法更加优雅么
2) 这其实是因为前面字符串里面只有一个%d,那第二个bin(num)就是作为第二个要打印的东西放在最后面
当然还有就是因为字符串里没有格式化二进制{:9_227:}

z5560636 发表于 2021-4-20 09:42:13

{:10_289:}基础语还要加深一下。
print()          这是一个函数
print("%d"%num)      %d 格式符:格式符为真实值预留位置,并控制显示的格式。格式符可以包含有一个类型码,用以控制显示的类型。   

翻译过来就是
print("格式符"连接格式参数:num)


print('%d -> %o' % (num, num))
翻译过来就是
print("格式符 -> 格式符"连接格式参数:(num,num))
页: [1]
查看完整版本: 十进制转换二进制