1.内容









2.练习
为了简洁明了,未做容错处理。
"""
Stack() 定义一个空栈
push(item) 添加一个元素
pop() 删除栈顶元素 返回元素
peek() "窥视"栈顶元素 不做修改
isEmpty() 返回是否是空栈
size() 返回栈大小
selectAll() 查看栈所有内容
"""
class Stack:
def __init__(self):
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 isEmpty(self):
return self.items == []
def size(self):
return len(self.items)
def selectAll(self):
return self.items
if __name__ == '__main__':
s = Stack()
s.push(3)
s.push('20')
s.push([3, 5, 8])
print(s)
print(s.selectAll())
print(s.size())
print(s.peek())
s.pop()
print(s.pop())
print(s.selectAll())
from pythonds.basic.Stack import Stack
def divideBy2(decNumber: int) -> str:
stack = Stack()
while decNumber:
num = decNumber % 2
stack.push(num)
decNumber = decNumber // 2
binString = ""
while not stack.isEmpty():
binString += str(stack.pop())
return binString
def divideByAny(decNumber: int, base: int) -> str:
digit = "0123456789ABCDEF"
stack = Stack()
while decNumber:
num = decNumber % base
stack.push(num)
decNumber = decNumber // base
String = ""
while not stack.isEmpty():
String += digit[stack.pop()]
return String
if __name__ == '__main__':
s = int(input("输入一个数:"))
b = int(input("转换进制数(16进制及以下):"))
print(divideBy2(s))
print(divideByAny(s, b))
输入一个数:5201314
转换进制数(16进制及以下):8
10011110101110110100010
23656642
输入一个数:99
转换进制数(16进制及以下):7
1100011
201
输入一个数:250
转换进制数(16进制及以下):16
11111010
FA
版权声明:本文为weixin_45462577原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。