我有以下代码:
print("Now we need to get to know a little about you. What's your name?")
name=input()
print("Ok",name+", are you male, female, or another gender?")
gender=input()
if gender.lower==male.lower:
print("So you're a man. Great!")
elif gender.lower==female.lower:
print("So you're a woman. Great!")
else:
print("Sorry I don't understand. We wont refer to your gender.")
gender="unknown"
time.sleep(2)
正如你所看到的,我已经尝试了整个“gender.lower”的事情,但如果我输入“男性”,我会得到一个未定义的性别。帮帮我?感谢
答案 0 :(得分:0)
您需要使用括号,因为lower是一种方法。请尝试gender.lower()
和male.lower()
。
使用lower而不使用括号是指内置方法,但不会调用它。如果您在解释器中单独打印gender.lower
,您将看到对性别对象的方法的引用。打印male.lower
为不同的对象提供类似的参考(打印输出中的内存位置将不同)。因为这些不相同,所以条件失败。
答案 1 :(得分:0)
我认为你应该使用
"male"
这是单词male,而不是
male.lower
这是一个尝试调用函数的未定义值
答案 2 :(得分:0)
if gender.lower=="male":
print("So you're a man. Great!")
elif gender.lower=="female":
print("So you're a woman. Great!")
我无法看到你定义了一个变量男性或女性