python新手

和一个朋友一起写一些蟒蛇脚本.找到了这些健身者;

选择 | 换行 | 行号
  1. ia1 = Interpretation([knows(bob,john),knows(john,bob),knows(mary,alice),knows(alice,mary)],[bob,john,mary,alice])
  2.  

这应该是对称的...但这就是我所能得到的.

选择 | 换行 | 行号
  1. f1a1 = forall(x, knows(x, bob)) > forall(y, knows(bob, y)) & forall(x, knows(x, mary)) > forall(y, knows(mary, y))
  2.  
  3. print 'This Is symmetric:', f1a1.val(ia1)

我不应该使用名称Bob,Mary等等,但是如果我使用变量a,b,例如,我得到的错误是它没有被定义.

选择 | 换行 | 行号
  1. ia2 = Interpretation([knows(bob,john),knows(john,bob),knows(mary,alice),knows(alice,mary)],[bob,john,mary,alice])
  2.  

这一部分应该是传递性的.从我所能看到的(虽然我有点累),它不是传递性的.但我似乎就是找不到正确的答案.

选择 | 换行 | 行号
  1. f1a2 = forall(z, forall(y, forall(x, (knows(x, y) & forall(x, knows(y,z)) > forall(x, knows(x, z))))))
  2. print 'This Is Transitive:', f1a2.val(ia2)

最后这个,它将是对称的.

选择 | 换行 | 行号
  1. ia5 = 
  2. Interpretation([loves(bob,mary),loves(john,john),loves(mary,alice),loves(bob,alice)],[bob,john,mary,alice])
  3.  

这就是我在这件事上取得的进展

选择 | 换行 | 行号
  1. f1a5 = forall(x, forall(y, forall(z, loves(x, y) & loves(y, z) > loves(x, z))))
  2. print 'This is symmetric', f1a5.val(ia4)
  3.  

我找不到这个有什么问题.
会非常感谢在这些练习中的任何帮助.
//瑞典

标签: python

添加新评论