我在Python中为类创建了一个Caesar Cipher程序,当我点击加密按钮时我遇到了错误。按钮的大小也完全没有了,我无法弄清楚如何改变它。我是Python的新手,所以请用最简单的术语表达。
这是我遇到的错误之一
<tr ng-repeat="item in items | filter:{name:nameSearch,job.title:jobSearch}">
<td>{{item.name}}</td>
<td>{{item.job.title}}</td>
</tr>
但是注意到的任何其他错误也会有所帮助。
谢谢!
Traceback (most recent call last):
File "/Users/Chandler/Desktop/caesar/CSCI220-Assign2-CaesarEncode-CTL.py", line 67, in <module>
main()
File "/Users/Chandler/Desktop/caesar/CSCI220-Assign2-CaesarEncode-CTL.py", line 44, in main
while not contains(buttonPoint1, win.getMouse()):
TypeError: contains() missing 1 required positional argument: 'ptIn'
答案 0 :(得分:0)
即使用三个参数定义,您也使用2个参数调用contains。
while not contains(buttonPoint1, win.getMouse()):
None
win.close()
def contains(pt1, pt2, ptIn):
return pt1.getX() < ptIn.getX() and ptIn.getX() < pt2.getX()
pt1.getY() < ptIn.getY() and ptIn.getY() < pt2.getY()
File "/Users/Chandler/Desktop/caesar/CSCI220-Assign2-CaesarEncode-CTL.py", line 44, in main
while not contains(buttonPoint1, win.getMouse()):
您在contains()
的定义中缺少和。如果您希望contains()
的定义返回完整的真假值,则应为
def contains(pt1, pt2, ptIn):
return pt1.getX() < ptIn.getX() and ptIn.getX() < pt2.getX() and
pt1.getY() < ptIn.getY() and ptIn.getY() < pt2.getY()
如你所知,它将返回第一行的值并忽略第二行。
另一个可能的错误可能是
for char in text:
我没有看到文本已初始化并传递到encrypt(message, key)
的位置。您不使用输入参数message
。你可能想要使用另一个使用另一个的地方。