raorr 发表于 2020-6-14 10:15:20

进制转换代码

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


这是在写啥啊,越来越看不懂小甲鱼的代码了

Twilight6 发表于 2020-6-14 10:23:01



就是 % 格式化问题:
print('十进制 -> 十六进制 : %d -> 0x%x' % (num, num))
print('十进制 -> 八进制 : %d -> 0o%o' % (num, num))
print('十进制 -> 二进制 : %d -> ' % num, bin(num))

与颜色一一对应,最后一个字符串里面就一个 % ,另一个是逗号隔开的要注意

%x 格式化十进制为十六进制,将后面的 num 转为十六进制数格式化替换 %x 的占位符

%o 格式化十进制为八进制,将后面的 num 转为八进制进制数格式化替换 %o 的占位符

最后那个是 bin() 函数 Python 内置方法,将 十进制转为二进制,而且是直接打印没有用格式化

Hello. 发表于 2020-6-14 10:23:52

就是不同进制间的转化呀

18511353234 发表于 2020-6-14 10:38:38

首先你先搞懂格式化字符串 就是"%d" % num 的含义,代表将num的十进制形式显示在字符串中,如print("%d" % 11)返回"11"
而"%x" % num 代表将num以十六进制的形式显示在字符串中,例如print("%x" % 11)返回"B" 那print("0x%x" % 11)就返回"0xB"
页: [1]
查看完整版本: 进制转换代码