python - 如何在实际运行值的命令之前使用字典中的值
问题描述
我正在为井字游戏编写代码并且有点卡住了!用户输入一个位置,如果输入的位置为空(其位置有一个数字),我想将数字更改为 X 或 O。
在下面的代码中,我创建了一个字典,其中的键代表棋盘上的位置。
我可以调用字典中键值的内容而不是实际值吗?例如,如果输入为 0,我想使用 'display_list[0][0]' 而不是 display_list[0][0] 的值,在这种情况下为 0。
row_1 = [0,1,2]
row_2 = [3,4,5]
row_3 = [6,7,8]
display_list = [row_1, row_2, row_3]
def valid_position():
positions = {'0':display_list[0][0],
'1':display_list[0][1],
'2':display_list[0][2],
'3':display_list[1][0],
'4':display_list[1][1],
'5':display_list[1][2],
'6':display_list[2][0],
'7':display_list[2][1],
'8':display_list[2][2]
}
x = str(user_input()) # This is a user input from 0-8
if x == str(positions[x]):
display_list[..][..] = 'X'
谢谢
解决方案
如果你想去,你可以添加另一个字典来获得你想要的输出,比如:
positions_labels = {'0':'display_list[0][0]',
'1':'display_list[0][1]',
'2':'display_list[0][2]',
'3':'display_list[1][0]',
'4':'display_list[1][1]',
'5':'display_list[1][2]',
'6':'display_list[2][0]',
'7':'display_list[2][1]',
'8':'display_list[2][2]'
}
所以无论你想使用位置positions_labels[x]
添加评论: 如果您想评估字符串内容(获取其值),您可以像在链接中那样做
推荐阅读
- javascript - 当我第二次单击按钮时,我的标签想要消失
- javascript - 如何以角度填充表格中的嵌套表单数组?
- angular - Angular 应用程序无法在 iphone 和某些设备上运行并且没有错误
- python - Kivy:提交注册表单和登录页面的问题
- linux - Azure Linux 应用服务不显示应用程序日志
- r - 如何制作一个函数来制作一个复杂的欧拉图?
- python - 比较当前和前一帧照片 - Python
- asp.net - 从内部网站为 ASP.NET Core 添加用户
- angular - 如何在 IIS 中构建和配置 Angular 12 子应用程序?
- java - 通过 Java 策略文件设置权限 Hibernate Validator 等