n=int(input())
lst1=[0,1,2,3,4,5,6,7,8,9,’A’,’B’,’C’,’D’,’E’,’F’]
lst2=[]

while n>15:
lst2.append(lst1[n%16])
n=n//16
lst2.append(lst1[n])

lst3=lst2[::-1]

for i in lst3:
print(i,end=””)

上传的附件
你的回答被采纳后将获得: 5点积分 (将会扣除手续费1点积分。)

keyboard_arrow_left上一篇 : 用python写了一个10进制转16进制,本地跑了很多数据都是对的,提交就跑不过 "WRITE-BUG技术共享平台"哪个版块你最讨厌 : 下一篇keyboard_arrow_right

3个回答

Dreamlover
2019-10-10 00:11:40

会不会是大小写的问题ABCDEF???

Dreamlover
2019-10-10 00:18:07

你的程序代码没缩进啊,是这样的吗?

  1. n=int(input())
  2. lst1=[0,1,2,3,4,5,6,7,8,9,’A’,’B’,’C’,’D’,’E’,’F’]
  3. lst2=[]
  4. while n>15:
  5. lst2.append(lst1[n%16])
  6. n=n//16
  7. lst2.append(lst1[n])
  8. lst3=lst2[::-1]
  9. for i in lst3:
  10. print(i,end=””)

如果是上面这样的话,那是有问题的!!!因为只考虑了 n>15 这种情况,没有考虑 n<=15 的情况!!!

小明的小
2019-10-10 18:09:37
  1. n=int(input())
  2. lst1=[0,1,2,3,4,5,6,7,8,9,'A','B','C','D','E','F']
  3. lst2=[]
  4. while n>15:
  5. lst2.append(lst1[n%16])
  6. n=n//16
  7. lst2.append(lst1[n])
  8. lst3=lst2[::-1]
  9. for i in lst3:
  10. print(i,end="")

精彩评论

eject