我是一个全新的学习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我做错了。原始代码在那里,所以如果你知道,请告诉我我做错了什么!
干杯!
答案 0 :(得分:0)
缺少括号:
gender = gender.lower()