| 
 | 
 
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论坛) 
 
 
 
 
 
 
 |