Giter VIP home page Giter VIP logo

academyawards's Issues

No discrimina valores duplicados

Al generar el listado de películas, aparecen duplicados:

  • Filtrar valores únicos

image

def obtenerPeliculas():
# Convertir numero a string para concatenar
df['year_film'] = df['year_film'].apply(str)
df['film'].unique()
predicado = 'pelicula(' + df.film + ', ' + df.year_film + ').'
print(predicado.to_string(index=False))

Resuelven exactamente lo mismo

Estas 2 reglas resuelven exactamente los mismo:

AcademyAwards/OSCARS.pl

Lines 1049 to 1063 in a022622

% Mostrar el título de las Películas que recibieron el OSCAR según la categoría
% recibeElOscarPor(actor_in_a_leading_role).
recibeElOscarPor(Categoria) :-
write('Películas ganadoras del OSCAR en la categoría '),
write(Categoria), write(': '), nl, nl,
ganador(Categoria, _, Ganador),
write(Ganador), nl.
% Mostrar nombre(s) de quien recibió el OSCAR según la categoría
% QuienRecibeElOscarPor(actor_in_a_leading_role).
quienRecibeElOscarPor(Categoria) :-
write('Ganador(es) del OSCAR en la categoría '),
write(Categoria), write(': '), nl, nl,
ganador(Categoria, _, Pelicula),
write(Pelicula), nl.

image

  • Eliminar la segunda por redundancia y ser menos explícita.

Convertir a lista

Agrupar los nombres de productores en listas nos permitirá reducir código, pero faltará identificar cómo manipular las listas para realizar consultas del tipo:

haRecibidoUnOscar(nombre_productor).

  • Agrupar productores en todas las películas
  • Aprender a manipular listas

AcademyAwards/OSCARS.pl

Lines 56 to 61 in cb1e3e6

% Productores
% productor(nomadland, mollye_asher).
% productor(nomadland, dan_janvey).
% productor(nomadland, frances_mcdormand).
% productor(nomadland, peter_spears).
% productor(nomadland, chloe_zhao).

Prescindir de un predicado

Para mostrar todos los datos disponibles de una película sin que sea necesario que estos valores estén poblados en nuestra base de conocimiento. Es decir, se busca omitir aquellos predicados donde no exista un valor para este.

AcademyAwards/OSCARS.pl

Lines 329 to 345 in cb1e3e6

% Obtener detalles de la Mejor Película en cierto año
% mejorPelicula(2021).
mejorPelicula(Year) :-
ganadoraMejorPelicula(Year, Pelicula),
pelicula(Pelicula, Release),
director(Pelicula, Director),
write('Ganadora del OSCAR por Mejor Película en el año '), write(Year), nl,
write('Película: '),
write(Pelicula), nl,
write('Director: '),
write(Director), nl,
write('Año de estreno: '),
write(Release), nl,
write('Entregado a: '), nl,
productores(Pelicula),nl,
write('Elenco: '), nl,
cast(Pelicula).

De momento, los predicados que no se cumplen han sido comentados para evitar obtener FALSE.

AcademyAwards/OSCARS.pl

Lines 347 to 360 in cb1e3e6

% musica(Pelicula, Musica),
% diseñovestuario(Pelicula, Diseñador),
% maquillaje(Pelicula, Maquillaje),
% efectosvisuales(Pelicula, Efectos_Visuales),
% write('Productores: '),
% write(Productor), nl,
% write('Director de Fotografía: '), nl,
% write(Fotografia), nl,
% write('Edición: '), nl,
% write(Editor), nl,
% write('Diseño de Producción: '), nl,
% write(Decorador_Set), nl,
% write('Guión: '), nl,
% write(Escritor).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.