所以,我对编程是全新的,这让我很沮丧!我想做的是能够导入一个4x8文本文件,并将文本转换为2D列表,这样我可以交换两个字符。例如,如果导入的文本文件如下所示:
OOOOOOOO
OOOXOOOO
OOOOOOOO
OOOOOOOO
然后,我希望能够在输入用户输入时更改X的位置(行/列的位置),以便在其位置放置一个O来保留格式。例如,程序将提示用户输入,如果用户输入“up”,则X将向上移动一个空格。在
^{pr2}$我希望它在每次移动后都反复提示新的移动,并且每次都显示新的网格(这样每次输入移动时都可以看到X在它的新位置)。在
这就是我目前所拥有的一切。我知道我需要先找到X,但我真的不知道怎么做。我被困在这里了。感谢任何帮助。在
#Global variables for the movements
UP = 8
DOWN = 2
RIGHT = 6
LEFT = 4
#Dimensions of grid
ROWS = 4
COLUMNS = 8
def start():
filename = input("Enter the name of the Start Positions file: ")
textFile = open(filename)
aMaze = [line.strip() for line in textFile]
for r in range(ROWS):
for c in range(COLUMNS):
print(aMaze[r][c], end="")
print()
def moveType():
while (True):
try:
move = input("ENTER YOUR MOVE: ")
except ValueError:
print("unimportant error message")
continue
if ((int(move)) in (DOWN, LEFT, RIGHT, UP)):
playerMove(move)
continue
else:
print("unimportant error message")
continue
return(move)
def playerMove(move):
move = (int(move))
if (move == DOWN):
#need help here
elif (move == UP):
#and here
elif (move == LEFT):
#don't know what i'm doing
elif (move == RIGHT):
#also here
start()
moveType()
这是学习抽象的绝佳机会。要解决您的问题,请考虑您可以解决的子问题(使用函数),这些子问题将使您的最终问题更容易解决。在
在你的具体例子中,编写一个程序来找到X所在的笛卡尔坐标,不是更容易吗?有了(x,y)坐标,就可以创建一个函数,将该坐标(可能存储为元组)转换为二维数组,其中该坐标为x,其他坐标为零。在
提示1:
提示2:
^{pr2}$注意:如果这是一个应用程序,你想找出每一点性能,你当然不需要每次迭代你的数组来找到X。你可以(也应该)选择存储X的位置,然后在数组中使用两次访问来翻转X和O。但是看到这可能是你的第一个问题解决这个问题当然不是问题。在
希望这有帮助!祝你好运开始编码!在
相关问题 更多 >
编程相关推荐