题目:把输入的任意十进制数转换成2进制并输出。
class stackDT:
'''构造栈的数据类型'''
def __init__(self):
self.items = []
def isempty(self):
return self.items == []
def push(self, item):
self.items.append(item)
def pop(self):
return self.items.pop()
def peek(self):
return self.items[-1]
def size(self):
return len(self.items)
def decimaltobinary(iptnum):
optnum = ''
iptnum_2 = stackDT()
while iptnum > 0:
(iptnum, i) = divmod(iptnum, 2)
iptnum_2.push(str(i))
while not iptnum_2.isempty():
optnum += str(iptnum_2.pop())
return optnum
binarynum = decimaltobinary(eval(input()))
print(binarynum)
题目来自中国大学MOOC中北京大学陈斌副教授的MOOC:《数据结构与算法Python版》