首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我是否可以使用for循环来检查类中的变量,并根据年龄或性别等信息返回不同的答案?

我是否可以使用for循环来检查类中的变量,并根据年龄或性别等信息返回不同的答案?
EN

Stack Overflow用户
提问于 2020-03-31 19:58:18
回答 1查看 28关注 0票数 0

我正在研究Eric Matthe的书,想用for循环尝试一些额外的东西,看看我是否可以让它们解决问题9-3。以下是他的解决方案代码(供参考):

https://ehmatthes.github.io/pcc/solutions/chapter_9.html#9-3-users

我想做的是添加一些额外的代码来检查用户是男性还是女性,并在此基础上给他们一个不同的响应。我使用for循环的方式正确吗?

代码语言:javascript
复制
class User:
def __init__(self, first_name, last_name, age, gender):
    self.first_name = first_name.title()
    self.last_name = last_name.title()
    self.age = age
    self.gender = gender.title()

def user_info(self):
    print(f"\nInformation available on USER: "
          f"\nFirst name: \t{self.first_name}"
          f"\nSecond name: \t{self.last_name}"
          f"\nAge: \t\t{self.age}"
          f"\nGender: \t{self.gender}")

def user_greeting(self):
    for gender in self.gender:
        if gender == 'Male':
            print("hello sir")

我编辑了代码以包含以下建议,但现在仍然没有得到任何输出:

代码语言:javascript
复制
class User:
def __init__(self, first_name, last_name, age, gender):
    self.first_name = first_name.title()
    self.last_name = last_name.title()
    self.age = age
    self.gender = gender.title()

def user_info(self):
    print(f"\nInformation available on USER: "
          f"\nFirst name: \t{self.first_name}"
          f"\nSecond name: \t{self.last_name}"
          f"\nAge: \t\t{self.age}"
          f"\nGender: \t{self.gender}")

def user_greeting(self):
    if self.gender == 'male':
        print("hello sir")
EN

回答 1

Stack Overflow用户

发布于 2020-03-31 20:22:57

我不明白为什么你需要一个循环。在编写代码时,类User的每个实例将只有一个string类型的性别。这样,您就可以简单地使用if。因此,函数user_greeting的代码如下所示:

代码语言:javascript
复制
def user_greeting(self):
    if self.gender == 'Male':
        print("hello sir")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60950041

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档