为了账号安全,请及时绑定邮箱和手机立即绑定

Python 中的堆栈操作

Python 中的堆栈操作

白猪掌柜的 2023-05-16 15:55:53
我正在尝试实现基本的堆栈操作。问题是我需要循环继续要求输入选择并想继续执行直到我输入 1、2、3 以外的数字。当我运行这段代码时,在输入选项 1 后,它会一次又一次地调用 if 语句。我希望 if 语句在调用函数一次后停止,直到我再次调用它。我知道代码有些混乱,我只想要堆栈操作的基本实现。def create_stack():    stack = []    return stackdef check_empty(stack):    return len(stack) == 0def push(stack, item):    stack.append(item)    print("Item pushed")def pop(stack):    if check_empty(stack):        return "Stack is empty"    return stack.pop()def display(stack):    for i in stack:        print(i, end = ' ')def stack_op():    while True:        choice = int(input("Enter the choice "))        while choice < 4:            if choice == 1:                item = int(input("Enter the item :"))                push(stack, item)            elif choice == 2:                pop(stack)            elif choice == 3:                display(stack)              else:                break    return Falsestack = []stack_op()
查看完整描述

1 回答

?
守候你守候我

TA贡献1802条经验 获得超10个赞

第二个while循环是不必要的,它重复运行相同的 if 块而不要求新的输入。

只需删除整个while choice < 4:语句并缩进下面的 if 块。然后,它起作用了。break或者,您可以在每个 if 和 elif 命令块中包含一个,以在处理输入后终止不必要的 while 循环。


查看完整回答
反对 回复 2023-05-16
  • 1 回答
  • 0 关注
  • 84 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信