Untitled
unknown
plain_text
3 years ago
1.9 kB
4
Indexable
Never
Create a new Python file & import from packages. from logpy import * from logpy.core import lall Specified the variable person. # Specified the variable person = var() Specified all the rules using lall. The first rule is that there are four persons. # Specified the rules rules = lall( # There are 4 persons (eq, (var(), var(), var(), var()), person), The people named Steve has a blue car- # Steves has a blue car (membero, ('Steve', var(), 'blue', var()), person), The man who has a cat lives in Canada: # The man who has a cat lives in Canada (membero, (var(), 'cat', var(), 'Canada'), person), # Matthew lives in USA (membero, ('Matthew', var(), var(), 'USA'), person), # The man who has a black car lives in Australia (membero, (var(), var(), 'black', 'Australia'), person), The man named Jack has a cat: # Jack has a cat (membero, ('Jack', 'cat', var(), var()), person), The man named Alfred lives in Australia: # Alfred lives in Australia (membero, ('Alfred', var(), var(), 'Australia'), person), The man who has a dog lives in France: # Person who owns the dog lives in France (membero, (var(), 'dog', var(), 'France'), person), One of the person in this group has a rabbit. Who is that man? # Who has a rabbit? (membero, (var(), 'rabbit', var(), var()), person) ) Run the solver with the preceding constraints: # Run the solver results = run(0, person, rules) Take out the output from the result- output = [house for house in results[0] if 'rabbit' in house][0][0] print the o/p: print('\n' + output + ' is the owning of the rabbit') print('\nAll the details are here:') attribs = ['Name', 'Pet', 'Car Color', 'Country'] print('\n' + '\t\t\t'.join(attribs)) print('=' * 60) for item in result[0]: print('') print('\t\t\t'.join([str(x) for x in item])) Matthew is the boss of the rabbit.