|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
作业要求:进制转换
这是答案:
- 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
复制代码
这是我写的
- while True:
- x=input('请输入一个整数(输入Q结束程序):')
- if x!='Q' :
- x=int(x)
- print('十进制->十六进制:{0:%d}->{1:0x%x}'.format(x,x))
- print('十进制->八进制:{0:%d}->{1:0o%o}'.format(x,x))
- print('十进制->二进制:{0:%d}->{1}'.format(x,bin(x)))
- else:
- print('程序结束')
- break
复制代码
一运行的话就报invalid format specifier
print('十进制->十六进制:{0:%d}->{1:0x%x}'.format(x,x))
求教各位大神,我写的地方,用format 用的错误了么。谢谢各位大神辣
- 主要就是进制了,b、d、o、x分别是二进制、十进制、八进制、十六进制。
- In [54]: '{:b}'.format(17)
- Out[54]: '10001'
- In [55]: '{:d}'.format(17)
- Out[55]: '17'
- In [56]: '{:o}'.format(17)
- Out[56]: '21'
- In [57]: '{:x}'.format(17)
- Out[57]: '11'
-
复制代码
- while True:
- x=input('请输入一个整数(输入Q结束程序):')
- if x!='Q' :
- x=int(x)
- print('十进制->十六进制:{0:d}->0o{1:x}'.format(x,x))
- print('十进制->八进制:{0:d}->0o{1:o}'.format(x,x))
- print('十进制->二进制:{0:d}->{1}'.format(x,bin(x)))
- else:
- print('程序结束')
- break
复制代码
|
|