用栈实现进制转换

2024-02-28 13:51:51 浏览数 (2)

1 问题

在数据结构的学习中,栈是一个重要的部分,我们已经大致学习了栈的相关方法,那么我们是否可以利用学习的方法用栈来为我们完成一些功能,例如计算机中常见的进制转换。

2 方法

(1)先创建函数,num为传入的数字,scale为要转换的进制

(2)创建栈,利用出入栈完成进制转换

代码清单 1

代码语言:text复制
def ten_change(num, scale):  
   zhan = list()  
   changeNum = ''  
   digits = "0123456789ABCDEF"
   while num > 0:    
       zhan.append(str(num % scale))
       num = num // scale
   while zhan != []:
       changeNum  = digits[int(zhan.pop())]  
   return changeNum
if __name__ == '__main__':
   num = int(input("请输入一个十进制数字:"))
   scale = int(input("请输入要转换成的进制数(包括2、8、16):"))
   print(ten_change(num, scale))

3 结语

栈作为数据结构学习过程中的一大模块,使用范围广泛,方法灵活多变,这次对栈的利用只是冰山一角,后续还应该结合前后的知识,利用栈实现更多的功能,为我们代码的编写带来更多帮助。

0 人点赞