进制转换程序这个课后题中有不明白的
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
1.为什么上面的Q要整成字符串?
2.下面的进制转换看不明白!!!???为什么要加0x和0o呢? 1 不加就被当做变量
2 格式化输出,其中的 %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 'Q'就是一个字符,如果你输入大写的Q,就会运行下面的q=False,然后while q就会退出循环了,这个Q和变量q没有直接关系,你把q改成任何合法变量名都可以。
下面的是字符串格式化,0x和0o都是字符串的一部分,表明是16进制和8进制的意思,这个你也可以改成你想显示的任何字符,转换的关键是%x->转换成16进制显示,%o->转换成8进制显示。 1. Q 必须是字符串,表示如果用户输入的内容不是 Q 就执行下面的代码。
2. 0x 表示十六进制数,0o 表示八进制数,只是输出样式的问题,可以删除 txxcat 发表于 2020-4-19 19:36
'Q'就是一个字符,如果你输入大写的Q,就会运行下面的q=False,然后while q就会退出循环了,这个Q和变量q没 ...
感谢 zltzlt 发表于 2020-4-19 19:54
1. Q 必须是字符串,表示如果用户输入的内容不是 Q 就执行下面的代码。
2. 0x 表示十六进制数,0o 表示 ...
感谢大佬!
页:
[1]