|
1鱼币
第十五讲课后作业
要求写一个进制转换程序,这是我的代码,对比了一下参考答案,对于print('十进制 -> 十六进制 : %d -> 0x%x' % (num, num))这个地方有点疑惑,不明白自己错在哪里。
- while 1:
- int1 = input("请输入一个整数(输入Q结束程序):")
- if int1 != 'Q':
- print('十进制 -> 十六进制:' + int1 + "%x" % int1)
- print('十进制 -> 八进制:' + int1 + "%o" % int1)
- print('十进制 -> 二进制:' + int1 + "%b" % int1)
- else:
- break
复制代码
这是参考答案
- 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
复制代码
我的代码为什么会报错?需要怎么修改?求大佬解答。
本帖最后由 昨非 于 2021-1-6 22:57 编辑
进制转换操作数的int类型,字符串是不行的
- while 1:
- int1 = input("请输入一个整数(输入Q结束程序):")
- if int1 != 'Q':
- int2=int(int1) #int2为整型,int1为字符串型用于拼接(+)
- print('十进制 -> 十六进制:' + int1 + "--->0x%x" % int2)
- print('十进制 -> 八进制:' + int1 + "--->0o%o" % int2)
- print('十进制 -> 二进制:' + int1 +"--->" ,bin(int2))
- else:
- break
复制代码
至于答案的理解,建议参考下面这个帖子的二楼答案
<font color="red">[已解决]</font>进制转换代码
https://fishc.com.cn/thread-172101-1-1.html
(出处: 鱼C论坛)
|
最佳答案
查看完整内容
进制转换操作数的int类型,字符串是不行的
至于答案的理解,建议参考下面这个帖子的二楼答案
[已解决]进制转换代码
https://fishc.com.cn/thread-172101-1-1.html
(出处: 鱼C论坛)
|