1

わかりました、すみません、これが私の最初の質問です。また、プログラミングはまだ初心者です。

とにかく、私は買い物リストを管理するプログラムを書いています。主なアイデアは、食料品を追加、削除、変更し、リストを確認して、プログラムを終了できるということです。

私はほとんどすべてが機能していますが、私の問題は、ユーザーがたとえばオプション 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()

メニューは次のとおりです。

def menu():
    print "___....----Menu Principal----....___"
    print "1.    Ingresar un articulo"
    print "2.    Eliminar un articulo"
    print "3.    Cambiar un articulo"
    print "4. Mostrar las listas de articulos"
    print "5.     Salir de Programa"
    print "\n"
    posibles=['1','2','3','4','5']
    opcion=raw_input("Por favor hacer una seleccion: ")
    while opcion not in posibles:
        print "Por favor, solo ingresa 1,2,3,4 o 5"
        opcion=raw_input("Por favor hacer una seleccion: ")
    return opcion
4

4 に答える 4

1

コードの最初のブロックを次のように変更してみてください。

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()
于 2013-04-25T19:15:46.423 に答える