Python菜单没有循环?

2024-06-16 10:14:38 发布

您现在位置:Python中文网/ 问答频道 /正文

好吧,原谅我,这是我在这里的第一个问题。而且,对编程还是个新手。在

不管怎么说,我一直在写一个程序来维护一份购物清单。其主要思想是您可以添加、删除、更改、检查列表并退出程序。在

我几乎所有的东西都在工作,但是,我的问题是,如果用户选择,例如,选项1,他们可以无限期地这样做(如设计),但当他们转到选项2,程序将停止当他们试图回到选项1(同样,3回到2或1和4到较低的数字)。在

主要方案是:

import moduloListas as mod
abarrotes=[]
frutas=[]
limpieza=[]
listaTotal=[abarrotes,frutas,limpieza]



opcion=mod.menu()

while opcion=='1':
    listaTotal=mod.ingresar(listaTotal)
    opcion=mod.menu()


while opcion=='2':
    listaTotal=mod.eliminar(listaTotal)
    opcion=mod.menu()



while opcion=='3':
    listaTotal=mod.cambiar(listaTotal)
    opcion=mod.menu()


while opcion=='4':
    print "\nAbarrotes: ",listaTotal[0]
    print "\nFrutas:    ",listaTotal[1]
    print "\nLimpieza:  ",listaTotal[2]
    opcion=mod.menu()

菜单是:

^{pr2}$

Tags: 程序mod选项编程购物思想menuprint
3条回答

这可以通过将while循环更改为来完成。在

while True:
    opcion=mod.menu()
    if opcion=='1':
        listaTotal=mod.ingresar(listaTotal)
    elif opcion=='2':
        listaTotal=mod.eliminar(listaTotal)
    elif opcion=='3':
        listaTotal=mod.cambiar(listaTotal)
    elif opcion=='4':
        print "\nAbarrotes: ",listaTotal[0]
        print "\nFrutas:    ",listaTotal[1]
        print "\nLimpieza:  ",listaTotal[2]
    else:
        break

尝试将第一个代码块更改为以下代码:

import moduloListas as mod
abarrotes = []
frutas = []
limpieza = []
listaTotal = [abarrotes, frutas, limpieza]

opcion = mod.menu()
while opcion != '5':
    if opcion == '1':
        listaTotal = mod.ingresar(listaTotal)
    elif opcion == '2':
        listaTotal = mod.eliminar(listaTotal)
    elif opcion == '3':
        listaTotal = mod.cambiar(listaTotal)
    elif opcion == '4':
        print "\nAbarrotes: ", listaTotal[0]
        print "\nFrutas:    ", listaTotal[1]
        print "\nLimpieza:  ", listaTotal[2]
    opcion = mod.menu()

while True:
    if opcion == '1':
        ...
    if opcion=='4':
       ....
    opcion = input()

当然,还有一些退出的选择5英尺或其他。在

相关问题 更多 >