Python无法识别两个字符串相等

时间:2015-10-06 12:45:35

标签: python

我是一个全新的学习Python的人,我正在制作一个基于文本的小型Fallout克隆。但是,我遇到了一组代码问题:

def PCgender():
    gender = input("Is your character male or female? \n")
    gender = gender.lower()
    gender = str(gender)
    if gender=="male":
        print("Atta, cowboy! ")
    elif gender=="female":
        print("You go, girl! ")
    else:
        #Triple quotes here because there's both single and double quotes in this sentence and to make it go over multiple lines. 
        print("""Aw, you special snowflake, you! But I'm fraid I haven't coded for anything 
        except "male" and "female", so please try one of those! """)
        PCgender()
PCgender()

即使输入是男性还是女性,它仍然会返回else功能。我有一个非常相似的块,它可以完美地工作,但这并不是我不知道为什么。

更新:我试着评论出所有这些代码,但VS仍然运行它,所以我重新启动了程序。同样的问题。我制作了一个新文件,将其复制过来。仍然运行代码,好像它没有被注释掉。根据一些不错的人的建议,我尝试运行打印(repr(性别),然后返回'男性'。奇怪。

然后我决定删除.lower()函数并且它有效!当我重新添加它时,它继续工作,所以IDK我做错了。原始代码在那里,所以如果你知道,请告诉我我做错了什么!

干杯!

1 个答案:

答案 0 :(得分:0)

缺少括号:

gender = gender.lower()