Hi! Help me, please. I need the program to save “tourists” and “cities” data in “.txt” files, but I don’t know how to use file () extension. this is the code that I have put together so far:
def menu():
print("1. Agregar pasajero")
print("2. Agregar ciudad")
print("3. Ver ciudad destino de un pasajero")
print("4. Cantidad de pasajeros de una ciudad")
print("5. Ver ciudad destino de un pasajero")
print("6. Cantidad de pasajeros de una provincia")
print("7. Salir")
def agregar_pasajero(turistas):
nombre = raw_input("Ingrese nombre completo: ")
dni = int(raw_input("Ingrese DNI: "))
origen = raw_input("Ingrese el origen: ")
for turista in turistas:
if turista[1] == dni:
print "El turista con DNI" ,dni, "ya esta registrado"
return turistas
turistas.append((nombre, dni, origen))
return turistas
def agregar_ciudad(ciudades):
origen = raw_input("Ingrese nombre de la ciudad: ")
provincia = raw_input("Ingrese nombre de la provincia: ")
for ciudad in ciudades:
if ciudad[0] == origen:
print "La ciudad",origen, "ya esta registrada"
return ciudades
ciudades.append((origen, provincia))
return ciudades
def ver_ciudad(turistas):
dni = int(raw_input("Ingrese DNI del pasajero: "))
encontrado = False
for turista in turistas:
if turista[1] == dni:
print "El pasajero viaja a la ciudad de", turista[2]
encontrado = True
break
if encontrado is False:
print "El pasajero no esta registrado"
def ver_cantidad_pasajeros_ciudad(turistas):
contador = 0
ciudad = raw_input("Ingrese nombre de la ciudad: ")
for turista in turistas:
if turista[2] == ciudad:
contador += 1
print "Viajan", contador, "a la ciudad de",ciudad
def ver_provincia(turistas):
dni = int(raw_input("Ingrese DNI del pasajero: "))
encontrado = False
for turista in turistas:
if turista[1] == dni:
print "El pasajero viaja a la provincia de", turista[2]
break
if encontrado is False:
print "El pasajero no esta registrado"
def ver_cantidad_pasajeros_provincia(turistas, ciudades):
contador = 0
provincia = raw_input("Ingrese nombre de la provincia: ")
ciudades_provincia = []
for ciudad, provincia in ciudades:
if provincia_usuario == provincia:
ciudades_provincia.append(ciudad)
for turista in turistas:
if turista[2] in ciudades_provincia:
contador += 1
print "Viajan", contador, "a la provincia de", provincia
def guardar(turistas, ciudades):
print("Datos guardados")
try:
f= open(file,"pasajeros.txt", "a")
for nombre, dni, ciudad in turistas:
f.write('{}\t{}\t{}\n'.format(nombre, dni, ciudad))
f= open(file,"ciudades.txt", "a")
for ciudad, provincia in ciudades:
f.write('{}\t{}\n'.format(ciudad, provincia))
except ValueError:
print("Error!")
def main():
turistas = []
ciudades = []
opcion = 0
while opcion != 7:
menu()
opcion = int(raw_input("Elige una opcion: "))
if opcion == 1:
turistas = agregar_pasajero(turistas)
elif opcion == 2:
ciudades = agregar_ciudad(ciudades)
elif opcion == 3:
ver_ciudad(turistas)
elif opcion == 4:
ver_cantidad_pasajeros_ciudad(turistas)
elif opcion == 5:
ver_provincia(turistas)
elif opcion == 6:
ver_cantidad_pasajeros_provincia(turistas, ciudades)
elif opcion == 7:
guardar(turistas, ciudades)
else:
print("Opcion incorrecta")
return
main()
Thanks!