引号里的%d为什么不直接打印出来,居然是变量
q = Truewhile 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
print('十进制 -> 二进制 : %d ->' %num, bin(num))这个就看不懂了,前面两个都是(num, num),为啥到了二进制就变成num,bin(num),完全看不懂。请大神指教一下。为什么单引号的%d是变量呢,'十进制 -> 十六进制 : %d -> 0x%x' ,这个引号里面的内容应该是找本不变的打印出来的呀,为什么引号里的%d居然是变量。懵逼状态,麻烦大神好好解释一下,现在是糊涂状态 比如,%d是整型变量的占位符,是用变量值去填充的,其他同 %s %d是格式化输出,百度一下吧 这是格式化输出,小甲鱼在课上讲过 wp231957 发表于 2020-5-23 19:30
比如,%d是整型变量的占位符,是用变量值去填充的,其他同
print('十进制 -> 二进制 : %d ->' %num, bin(num))
这个呢,占位符只有一个,但是后面变量有两个,这个没看懂 13272610508 发表于 2020-5-23 19:36
print('十进制 -> 二进制 : %d ->' %num, bin(num))
这个呢,占位符只有一个,但是后面变量有两个, ...
错了吧,后面还应该有个%s的 wp231957 发表于 2020-5-23 19:38
错了吧,后面还应该有个%s的
没错,我把这个运行,跑出来是对的 13272610508 发表于 2020-5-23 19:40
没错,我把这个运行,跑出来是对的
哦,刚才没细看,后面的逗号那是print函数的连接字符串,和%占位没关系
随便画了张图,将就看看,每行第一个mum以%d的格式输出,就是整数方式输出,这里就是输入什么数,输出什么数。
第1行第2个num以%x的格式输出,就是十六进制的样式输出;
第2行第2个num以%o的格式输出,就是八进制的样式输出;
第三行没有第二个格式化是因为字符串格式化中没有二进制的格式,就直接用了bin()函数去进行转换直接输出。 print('十进制 -> 二进制 : %d ->' %num, bin(num))
这句是把num格式化到字符串里,然后输出字符串
然后再把bin(num)单独输出 txxcat 发表于 2020-5-23 22:09
随便画了张图,将就看看,每行第一个mum以%d的格式输出,就是整数方式输出,这里就是输入什么数,输出什 ...
此楼正解,https://www.cnblogs.com/L521Z/p/11785348.html 字符串常用的格式化方法可以看下 13272610508 发表于 2020-5-23 19:36
print('十进制 -> 二进制 : %d ->' %num, bin(num))
这个呢,占位符只有一个,但是后面变量有两个, ...
%对应的是%d,而后面的bin(num)是变量,所以可以直接输出,不用格式化,
相当于‘%num—〉’+bin(num)
页:
[1]