是否有可能使用户输入全局用于其他地方?

时间:2018-03-17 22:21:34

标签: python python-3.x python-2.7 list

我有两个输入,我想在另一个函数中使用,是否有可能以某种方式使它们全局?

这是我想要使用的两个输入

def UserInput(): 
     while True:
          if ChooseMove in self.pieces():
              KingRow = int(input("Choose Row: "))
              KingColumn = int(input("Choose Column: "))

这里我想使用输入的两个变量

def KingMoves(self, rows, columns):

    FinalMove = []

    FinalMove.append(((KingRow - 1),(KingColumn)))
    FinalMove.append(((KingRow + 1),(KingColumn))) 
    FinalMove.append(((KingRow),(KingColumn + 1)))

    return FinalMove

1 个答案:

答案 0 :(得分:-3)

使用global关键字。

def UserInput(): 
    global KingRow #Tells python that the variable is global
    global KingColumn

    while True:
         if ChooseMove in self.pieces():
             KingRow = int(input("Choose Row: "))
             KingColumn = int(input("Choose Column: "))

请注意,您只需要说变量是全局变量一次。 此外,如果误用全局变量是危险的。如果你想要,你可以重写代码以返回两个变量,然后将它们作为参数传递给它:

return KingRow, KingColumn

然后:

row, column = UserInput()