【问题标题】:Stuck on question that uses lists and functions and iterating over lists停留在使用列表和函数并迭代列表的问题上
【发布时间】:2019-06-10 16:17:59
【问题描述】:

这两种不同类型的字符分配有namesracehealthTrue = orcs, False = goblins

我不知道如何让这个函数显示所有种族或只显示 1 个种族,并显示分配给他们的名称和健康状况

例如,如果输入 2 以显示所有列出的地精,我如何创建一个循环来执行此操作。完整问题如下:

显示字符(字符列表,显示类型) 该函数将字符对象列表和 display_type 作为参数并输出 将列表的内容显示到屏幕上。如果显示类型为 0,所有字符都将显示到 屏幕。如果显示类型为 1,则屏幕上只会显示兽人。如果显示类型为 2, 只有地精会显示在屏幕上

你必须使用 解决方案中的一个循环。

提前谢谢你(初学者)

我尝试弄乱一些 for 循环,遍历 character_list 中的所有变量,但不确定如何处理它并认为我做错了

def display_characters(character_list, display_type):
    for x in character_list:
        if display_type == 0 :
            print(character_list)
        elif display_type == 1 :

        elif display_type == 2:

【问题讨论】:

    标签: python


    【解决方案1】:

    摆脱你的循环。

    def display_characters(character_list, display_type):
        if not display_type:
            return character_list
        else:
            return [x for x in character_list if x[1] == display_type]
    
    char = [['a', 'orc', 'stats'],['b', 'orc', 'stats'],['d', 'orc', 'stats'],['e', 'goblin', 'stats']]
    
    print(display_characters(char, 'goblin'))
    

    【讨论】:

    • 我只是协助他编写代码,而不是为他做他的项目。再加上你的没有找到兽人或地精,所以不确定你的更好。
    • 这不是它所说的。侮辱是没有生产力的。他没有说种族是真还是假,他说他发送的 display_type 是真假。这是一个错误的设计,因为他至少需要 3 个选项。所有种族,或选择的种族。在你的印象中,结果是不可能的。我的解决方案无需更改功能即可处理所有案例和更新案例。
    猜你喜欢
    • 1970-01-01
    • 2022-01-09
    • 2012-04-05
    • 1970-01-01
    • 2017-06-29
    • 2020-05-08
    • 2015-10-11
    • 2017-09-22
    • 1970-01-01
    相关资源
    最近更新 更多