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