如何识别数组内的彩色字符串?

时间:2016-06-14 19:37:45

标签: python arrays

我有一个二维数组,我用它作为基于文本的游戏的地图,我用Python编写。我想限制用户在某些磁贴上行走。对于边框来说,这是一个简单的修复方法,因为它沿着边缘用'#'表示。但是,游戏中的地理位置使用了termcolor的彩色模块,例如山是colored('^', 'red'),这使得识别人物的难度很大。

if USERPOSITION == ('#' or -INSERT_COLORED_STRING-):  
    # revert to previous position.

当我只输入'#' or colored('^', 'red')时,它会识别正常的英镑符号,但不会识别红色'^'。如果我只是放'#' or '^'我得到相同的结果。

如何检查字符串是否为彩色字符?

1 个答案:

答案 0 :(得分:2)

你的条件错了。您想检查USERPOSITION是否等于'#',或者它是否等于colored('^', 'red')

为此,请明确写出每个条件,并使用or检查是否为真:

if USERPOSITION == '#' or USERPOSITION == colored('^', 'red'):

或者,您可以使用USERPOSITION in ('#', colored('^', 'red'))。如果您有多个USERPOSITION的不同值应符合条件,那么这将是有利的。