gpt4 book ai didi

Python:在井字游戏板上随机选择一个点

转载 作者:行者123 更新时间:2023-11-30 22:43:01 25 4
gpt4 key购买 nike

我正在编写一个程序,本质上是一个井字游戏。它使用简单的基于文本的棋盘游戏绘图,使用 - 线条和 + 加号。在程序开始时,我在井字棋盘中定义了 9 个空格,如下所示:

valuea1 = " "
valuea2 = " "
valuea3 = " "
valueb1 = " "

等等通过valuec3...设置空格以允许替换 X 或 O。我的董事会功能如下所示:

def board():
""" prints the tic-tac-toe board"""
print(" +---A------B------C--+")
print(" | | | |")
print("1| " + valuea1 +" | " + valueb1 +" | " + valuec1 + " |")
print(" | | | |")
print(" ----------------------")
print(" | | | |")
print("2| " + valuea2 +" | " + valueb2 +" | " + valuec2 + " |")
print(" | | | |")
print(" ----------------------")
print(" | | | |")
print("3| " + valuea3 +" | " + valueb3 +" | " + valuec3 + " |")
print(" | | | |")
print(" +--------------------+")
return

稍后在程序中,根据 if 语句,“计算机玩家”将使用的符号(X 或 O)存储在变量中:

computer_mark ## is either "X" or "O" based on player choice

现在这是我主要关心的问题和问题

randomlist = ("valuea1", "valuec1", "valuea3", "valuec3")
random_result = random.choice(randomlist)
## (REPLACE WITH CODE)
## takes the value stored in random_result, somehow treats the value as a variable,
## assigns that given variable the string value that is stored in computer_mark

我尝试随机选择棋盘上 4 个点中的 1 个,并将该点从 "" 字符串值更改为存储在 computer_mark 中的字符串值。

有没有办法编写 Python 代码来选择一个随机变量,并为其分配一个存储在不同变量中的值?

编辑我是一个Python和一般编程菜鸟。我只编码了两周,因此,如果我的编码技术有些不明智,我深表歉意。

最佳答案

您绝对应该考虑使用列表或嵌套列表来实现此目的:

import random

board = [[' ', ' ', ' '],
[' ', ' ', ' '],
[' ', ' ', ' ']]

然后您可以访问随机字段(主列表包含 3 个列表,每个列表包含 3 个项目:

random_field = random.randint(0, 2), random.randint(0, 2)
board[random_field[0]][random_field[1]] = 'x'
print(board)
# [[' ', ' ', ' '], [' ', ' ', 'x'], [' ', ' ', ' ']] # just one example

或者,如果您想从多种可能性中随机选择:

random_field = random.choice([(0, 0), (1, 1), (2, 2)])
board[random_field[0]][random_field[1]] = 'x'
print(board)
# [[' ', ' ', ' '], [' ', 'x', ' '], [' ', ' ', ' ']] # sets only one of the diagonals

关于Python:在井字游戏板上随机选择一个点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41906978/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com