如何将我的输入设置为Python中已经存在的变量?

如何将我的输入设置为Python中已经存在的变量?,python,Python,我对python还比较陌生,我不知道怎么做。我需要从用户那里获取一个数字输入,然后将其转换为一个已经存在的变量。到目前为止,我已经成功地获取了输入,但我认为我无法将其转换为变量。我试着把这个输入数字加在一个字符串的后面,这个字符串是pos 举个例子,如果我输入数字1,我会有pos1,2就是pos2,依此类推 if win == 0: displayboard() newPlot = input("") postochange = "pos"+newPlot if

我对python还比较陌生,我不知道怎么做。我需要从用户那里获取一个数字输入,然后将其转换为一个已经存在的变量。到目前为止,我已经成功地获取了输入,但我认为我无法将其转换为变量。我试着把这个输入数字加在一个字符串的后面,这个字符串是pos

举个例子,如果我输入数字1,我会有pos1,2就是pos2,依此类推

if win == 0:
    displayboard()
    newPlot = input("")
    postochange = "pos"+newPlot
    if postochange == "X" or "O":
        print ("Sorry, but that space is taken!")
    else:
        if playerTurn == 1:
            postochange = "X"
        else:
            postochange = "O"

我将尝试进一步简化,我想让用户给我一个数字,我将其添加到文本pos中,并与我已有的变量相对应。

你能改用值字典吗,例如:

pos_s = {'pos1':None,
         'pos2':None}

pos_s['pos'+str(user_number)] = desired_value
然后,要获取变量的值,可以执行以下操作:


pos_s.获取'pos'+struser_number,无

只是补充Mason Caiby的答案,如果最终用户只能输入有限的值集合,我将使用。 然后可以关联/对应已有的变量


你想做的事情最好通过列表或口述来完成。查阅在线文档。你有错误吗?也许你只需要在str上施展新情节?posttochange=pos+strnewPlot确保用户号码是一个字符串,而不是一个INT。这是可行的,必须更改脚本中的其他内容,但效果良好。谢谢你的帮助

# Python program to demonstrate differences 
# between normal and frozen set 

# Same as {"a", "b","c"} 
normal_set = set(["a", "b","c"]) 

# Adding an element to normal set is fine 
normal_set.add("d") 

print("Normal Set") 
print(normal_set) 

# A frozen set 
frozen_set = frozenset(["e", "f", "g"]) 

print("Frozen Set") 
print(frozen_set) 

# Uncommenting below line would cause error as 
# we are trying to add element to a frozen set 
# frozen_set.add("h")