Python - Programa agenda en Python

 
Vista:

Programa agenda en Python

Publicado por Antonio (1 intervención) el 29/05/2020 19:59:01
Buenas, tengo este programa que es una agenda con un menu con las siguientes fonciones:
añadir el contacto
ver el listado
modificar un contacto
eliminarlo
me gustaria cambiar el codigo de la funcion modifica pero no se me ocurre nada, alguna idea? gracias.


Aqui os dejo el codigo.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
def alta():
    llista=[]
    a=input("Escriu el nom: ")
    llista+=[a+","]
    b=input("Escriu els cognoms: ")
    llista+=[b+","]
    c=input("Escriu el numero de telefon: ")
    llista+=[c+","]
    d=input("Escriu el correo electronic: ")
    llista+=[d+","]
    e=input("Escriu el nom d'usuari de Telegram: ")
    llista+=[e+"\n"]
    with open ("agenda.txt","a") as f1:
        f1.writelines(llista)
def llistat():
    print()
    print("Llistat")
    print()
    with open("agenda.txt","r") as f1:
        n=0
        for linia in f1:
            if n==0:
                print(linia,end="")
            else:
                print(str(n)+". "+linia,end="")
            n+=1
    print()
def modifica():
    def modificaLinea(linia):
        liniaLlista=linia.split(",")
        for i in range(len(liniaLlista)):
             print(liniaLlista[i])
            c=input("Vols modificar aquest camp? (Digues Si per confirmar o qualsevol caracter per cancelar)")
            if (c=="Si") or (c=="si"):
                 nouV=input("Introdueix el nou valor: ")
                if i==(len(liniaLlista)-1):
                        liniaLlista[i]=nouV+"\n"
             else:
                liniaLlista[i]=nouV
     return liniaLlista[0]+","+liniaLlista[1]+","+liniaLlista[2]+","+liniaLlista[3]+","+liniaLlista[4]
    print()
    print("Modifica")
    print()
    llistat()
    linies=[]
    with open ("agenda.txt","r") as f2:
        linies=f2.readlines()
    print()
    camp=int(input("Quin camp vols modificar? (escriu el numero del Llistat) "))
    if camp>len(linies)-1:
        print("Aquest camp no hi és.")
    else:
        print()
        print(linies[camp])
        liniaNova=modificaLinia(linies[camp])
        linies[camp]=liniaNova
    with open ("agenda.txt","w") as f3:
        f3.writelines(linies)
    print()
def elimina():
    print()
    print("Baixa")
    print()
    llistat()
    linies=[]
    with open ("agenda.txt","r") as f2:
        linies=f2.readlines()
    print()
    camp=int(input("Quin camp vols esborrar? (escriu el numero del Llistat) "))
    if camp>len(linies)-1:
        print("Aquest camp no hi és.")
    else:
        linies.remove(linies[camp])
    with open ("agenda.txt","w") as f3:
        f3.writelines(linies)
    print()
o=0
lxd=["Nom"+", ","Cognoms"+", ","Teléfon"+", ","Correu"+", ","Usuari de telegram"+"\n"]
def checkfile(archivo):
    import os.path
    if not os.path.exists(archivo):
        with open (archivo,"w") as f0:
            f0.writelines(lxd)
checkfile("agenda.txt")
 
while(o!=5):
    print("1.Alta")
    print("2.Llistat")
    print("3.Modifica")
    print("4.Baixa")
    print("5.Sortir")
 
    a=[1,2,3,4,5]
    o=int(input("Introdueix una opció: "))
    if o not in a:
        print("La opció no és a la llista.")
    else:
        if(o==1):
            alta()
        elif(o==2):
            llistat()
        elif(o==3):
            modifica()
        elif(o==4):
            elimina()
        elif(o==1):
            sortir()
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder