Python - problema ejercicio python

 
Vista:

problema ejercicio python

Publicado por Nacho (2 intervenciones) el 09/09/2017 17:56:38
Tengo que hacer un ejercicio en python sobre lo siguiente y he escrito esto, pero realmente me estoy haciendo un lio, soy bastante novato.

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
def pedirinformacion (cliente, clientes):
    nombre = input("Dime un cliente")
    for cliente in clientes:
        fichero=open("Lista de clientes.txt","w")
        fichero.write(nombre)
        fichero.close()
 
def guardarlista(clientes, lista):
    fichero=open("Lista de clientes.txt","w")
    fichero.write(clientes+"\n")
    fichero.close()
 
def crearlista(lista):
    open(lista, "w")
 
def cargarlista (clientes, lista):
    crearlista(lista)
    lista.open("","w")
    return(lista)
 
def mostrarclientes (clientes, lista):
    for clientes in lista:
        mostrarcliente()
        print(lista)
 
def mostrarcliente (cliente, lista):
    for cliente in lista:
        print(lista)

Y el EJERCICIO ES EL SIGUIENTE:

Como ejercicio de ficheros vamos a hacer un sistema de control de alta de clientes. Básicamente, las funciones implementadas tienen que poder hacer que este código se ejecute y muestre la lista de clientes:

clientes = pedirinformacion()
guardarlista(clientes, "clientes.txt")
clientescargados = cargarlista("clientes.txt")
mostrarclientes(clientescargados)
Ésta sería la ejecución que se espera:

Nombre del cliente ("fin" para terminar): francisco
Nombre del cliente ("fin" para terminar): luis
Nombre del cliente ("fin" para terminar): gerardo
Nombre del cliente ("fin" para terminar): fin
Lista de clientes:
cliente [francisco]
cliente [luis]
cliente [gerardo]
--------------------------
Notas:

pedirinformacion() pide, en un bucle, la información hasta que se escribe "fin".
guardarlista guarda los clientes como texto, cada cliente con una línea.
cargarlista crea una lista de clientes vacía (cosa que debe hacerse desde una función que ha de ser llamada desde cargarlista), la rellena con lo que haya en el archivo (que hay, en cada línea, un cliente), y devuelve esa lista rellena con un return.
mostrarclientes recorre la lista de clientes y, por cada cliente, llama a una función extra llamada mostrarcliente que muestra un cliente.
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
sin imagen de perfil
Val: 156
Ha disminuido 1 puesto en Python (en relación al último mes)
Gráfica de Python

problema ejercicio python

Publicado por Andrés (55 intervenciones) el 11/09/2017 18:04:50
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
#clientes
clientes = []
#nombre del fichero
file_name = "clientes.txt"
 
#solicita el nombre del cliente
def pedir_informacion():
 
    #indicador de finalizacion
    fin = "fin"
    #Bucle para solicitar informacion
    while True:
        #pide el nombre del cliente
        cliente = input('Nombre del cliente("fin" para terminar): ')
        #si se ha escrito "fin", terminar
        if cliente == fin:
            #guardar la lista
            guardar_lista()
            #leer la lista
            clientes_cargados()
            #mostrar la lista
            mostrar_clientes()
            #terminar el bucle
            break
        else:
            #agregar a los clientes
            clientes.append(cliente)
 
#guarda la lista de clientes en un fichero
def guardar_lista():
    #abre el fichero para escritura
    file = open(file_name, "w")
    #escribe los clientes al fichero
    file.writelines('\n'.join(clientes))
    #cierra el fichero
    file.close()
 
#lee del fichero
def clientes_cargados():
    #abrir el fichero
    file = open(file_name, "r")
    #leer en clientes
    global clientes
    clientes = []
    #para cada linea en el fichero
    for line in file:
        #agregar a los clientes
        clientes.append(line.rstrip('\n'))
    #cerrar el fichero
    file.close()
 
#mostrar los clientes
def mostrar_clientes():
 
    print("Lista de clientes: \n")
    #iterar sobre los clientes
    for cliente in clientes:
        #imprimir el cliente
        print("Cliente[{0}]".format(cliente))
 
if __name__ == "__main__":
    pedir_informacion()
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar