python 15讲动动手作业提问
q = Truewhile q:
num = input('请输入一个整数(输入Q结束程序):')
if num != 'Q':
num = int(num)
print('十进制 -> 十六进制 : %d -> 0x%x' % (num, num))一、0x是什么意思,转十六进制直接由‘%x’不行吗?二、(num,num)为什么是元组,他不是个整数吗
print('十进制 -> 八进制 : %d -> 0o%o' % (num, num))
print('十进制 -> 二进制 : %d -> ' % num, bin(num))
else:
q = False
格式化输出,其中的 %d %o 都只是占位符而已
用后面的值替代这些即可
举个例子
"I %s fishC" % 'love'
等价于将 love 替换 %s,所以结果为 "I love fishC"
一个字符串中可以有多个占位符,比如
"%d 只 %s" % (1, "狗")
等价于将 1 替代 %d, 将 狗 替代 %s,所以结果为 "1 只狗"
后面的字符d,s,o等含义请参考:
http://bbs.fishc.com/thread-92997-1-1.html 本帖最后由 jackz007 于 2020-3-29 18:24 编辑
1.0x%x 是为了在输出十六进制数的时候,在数值前添加 0x 前导,以便强调数值是十六进制编码。
2.(num , num)不是元组,而是两个整型变量,分别对应于前面格式描述符中的 %d 和 %x:
print('十进制 -> 十六进制 : %d -> 0x%x' % (num , num))
页:
[1]