Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 基于字母对称性创建镜像单词_Python_String_List Comparison - Fatal编程技术网

Python 基于字母对称性创建镜像单词

Python 基于字母对称性创建镜像单词,python,string,list-comparison,Python,String,List Comparison,我创建了这个程序,如果一个单词是对称的,它应该显示这个单词的镜像。不幸的是,当我测试“TIMOTHY”时,它显示它不能被镜像,我无法理解为什么这不起作用 #Program for creating a mirrored #image word# def main(): mirrors = ["A","H","I","M","O","T","U","V","W","X","Y" "b","d","i","l","m","o","p","t","v","w",

我创建了这个程序,如果一个单词是对称的,它应该显示这个单词的镜像。不幸的是,当我测试“TIMOTHY”时,它显示它不能被镜像,我无法理解为什么这不起作用

#Program for creating a mirrored
#image word#
def main():

    mirrors = ["A","H","I","M","O","T","U","V","W","X","Y"
               "b","d","i","l","m","o","p","t","v","w","x"]

    word = input("Enter in the word you'd like mirrored: ")

    for x in word:
        if x not in mirrors:
            y = True
            break

    if y == True:
        print("Sorry your word can not be mirrored")


    wordlist = ''.join(word[i] for i in range(len(word) -1, -1, -1 ))

    print(wordlist)




main()    
问题出在这里。“b”跟在“Y”后面,中间没有任何逗号。Python的一个鲜为人知的怪癖是两个相邻的字符串文本将自动连接起来。所以“Y”和“b”都不在列表中,但“Yb”在列表中

要解决此问题,请添加逗号

mirrors = ["A","H","I","M","O","T","U","V","W","X","Y",
               "b","d","i","l","m","o","p","t","v","w","x"]
此外,如果您不想在以后的
if y==True
块期间获得
UnboundLocalError
,则应在循环之前执行
y=False

mirrors = ["A","H","I","M","O","T","U","V","W","X","Y",
               "b","d","i","l","m","o","p","t","v","w","x"]