我无法找出在and def函数中的if语句中我做错了什么

2024-05-19 23:25:32 发布

您现在位置:Python中文网/ 问答频道 /正文

每当我运行程序并输入任何boy命令时,它的输出都是正确的,但是如果我使用girl命令,那么它的输出就会出错,有没有更简单的方法来编写整个代码

def create_a_character():
    gender = input("What's the gender?: ")
    if gender.lower() in ['boy', 'man', 'male']:
        print("Its a boy")
    elif gender.lower() in ['girl', 'woman', 'female']:
        print ("Its a girl")
    else:
        print("error")
    create_a_character()
create_a_character()

1条回答
网友
1楼 · 发布于 2024-05-19 23:25:32

您有一个递归调用,这在这里不是一个好主意。 你可以试试这个:

def create_a_character():
    gender = input("What's the gender?: ")
    if gender.lower() in ['boy', 'man', 'male']:
       return "Its a boy"
    elif gender.lower() in ['girl', 'woman', 'female']:
       return "Its a girl"
    else:
       return "error"
while True:
  ch_str=create_a_character()
  if ch_str!="error":
     break

print(ch_str)

相关问题 更多 >