python新手
和一个朋友一起写一些蟒蛇脚本.找到了这些健身者;
选择 | 换行 | 行号
- ia1 = Interpretation([knows(bob,john),knows(john,bob),knows(mary,alice),knows(alice,mary)],[bob,john,mary,alice])
这应该是对称的...但这就是我所能得到的.
选择 | 换行 | 行号
- f1a1 = forall(x, knows(x, bob)) > forall(y, knows(bob, y)) & forall(x, knows(x, mary)) > forall(y, knows(mary, y))
- print 'This Is symmetric:', f1a1.val(ia1)
我不应该使用名称Bob,Mary等等,但是如果我使用变量a,b,例如,我得到的错误是它没有被定义.
选择 | 换行 | 行号
- ia2 = Interpretation([knows(bob,john),knows(john,bob),knows(mary,alice),knows(alice,mary)],[bob,john,mary,alice])
这一部分应该是传递性的.从我所能看到的(虽然我有点累),它不是传递性的.但我似乎就是找不到正确的答案.
选择 | 换行 | 行号
- f1a2 = forall(z, forall(y, forall(x, (knows(x, y) & forall(x, knows(y,z)) > forall(x, knows(x, z))))))
- print 'This Is Transitive:', f1a2.val(ia2)
最后这个,它将是对称的.
选择 | 换行 | 行号
- ia5 =
- Interpretation([loves(bob,mary),loves(john,john),loves(mary,alice),loves(bob,alice)],[bob,john,mary,alice])
这就是我在这件事上取得的进展
选择 | 换行 | 行号
- f1a5 = forall(x, forall(y, forall(z, loves(x, y) & loves(y, z) > loves(x, z))))
- print 'This is symmetric', f1a5.val(ia4)
我找不到这个有什么问题.
会非常感谢在这些练习中的任何帮助.
//瑞典