dayu8120 发表于 2017-9-6 22:18:30

关于进制的问题。

看不懂啊。哭~~~
1、"十进制 → 十六进制: %d → 0x%x",为什么字符串里面的“%d → 0x%x”还会被10 → 0xa 替换掉?
2、为什么十六进制和八进制后面都是(num, num),而十进制后面只有一个(num)
3、麻烦您给我讲讲原理。谢谢。

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

请输入一个整数(或输入Q结束程序):10
十进制 → 十六进制: 10 → 0xa
十进制 → 八进制:10 → 0o12
十进制 → 二进制:10 → 0b1010
请输入一个整数(或输入Q结束程序):Q

冬雪雪冬 发表于 2017-9-6 22:26:18

      print("十进制 → 十六进制: %d → 0x%x" %(num, num))
%d是占位符,表示这里要输出一个10进制整数,%x表示输出一个16进制整数,具体的数值是后面%所跟的数字或数字组成的元组(如果只有一个站位符就是一个数字,两个以上就是元组),如果所跟的元组是(10,10),则把第一个%d,替换为10,第二个%x替换为10的16进制形式a
      print("十进制 → 八进制:%d → 0o%o" % (num, num))
      print("十进制 → 二进制:%d →" % num,bin(num))
这里只有一个num,就是前面的道理,只有一个%d
页: [1]
查看完整版本: 关于进制的问题。