我几乎完成了一项制作井字游戏的任务,但对于我的生活,我无法解决我在执行时遇到的错误。任何建议都会非常感激。
代码链接:http://pastebin.com/k7deVCAD
执行时出现错误:
追踪(最近一次通话): File" C:/Users/Andrew/Dropbox/program2.1.py" ;,第168行,在 I_hope_this_works()
文件" C:/Users/Andrew/Dropbox/program2.1.py",第145行,在I_hope_this_works中 play(player_names,player_marks)
文件" C:/Users/Andrew/Dropbox/program2.1.py" ;,第154行,在游戏中 askUserToPlayNextMove(player_names [' X'],player_marks)#asks他们输入移动 文件" C:/Users/Andrew/Dropbox/program2.1.py",第52行,在askUserToPlayNextMove中 (行,列)=输入("请输入您的下一行,列格式和#34;)
ValueError:解压缩的值太多(预期2)
答案 0 :(得分:1)
功能
askUserToPlayNextMove (currentPlayer, player_marks)
需要两个参数,但是你将它们作为单个元组传递:
askUserToPlayNextMove ((player_names['X'], player_marks))
试试这个:
askUserToPlayNextMove (player_names['X'], player_marks)
答案 1 :(得分:1)
我认为问题只是在调用函数“askUserToPlayNextMove”时有一组额外的括号。
您将函数调用为:
askUserToPlayNextMove ((player_names['X'], player_marks))
我认为只需将其更改为:
askUserToPlayNextMove (player_names['X'], player_marks)
将解决您的问题。当您在函数调用中的参数周围放置额外的括号集时,它会将这些括号内的数据解释为对应于函数中的一个参数。删除额外的集合会将这些参数作为两个单独的参数而不是一个参数传递。