为什么jupyter即将出现名称未定义

问题描述

嗨,我正在为Jupyter做概率分析,当我去运行这段代码时,它不断出现 '''名称'bag_2'未定义'''。 这似乎为我工作了几天,直到导致这一点,我对此没有做任何改变,所以不明白。谢谢

    import random

    bag = ['bag_1','bag_2']
    print(random.choice(bag))

    if bag == 'bag_1':
        colour = 'white','black'
        print(random.choices(bag_1,weights=(30,70),k = 1))
    else:
        colour = 'white','black'
        print(random.choices(bag_2,weights=(60,40),k = 1))

解决方法

您的变量bag是一个包含字符串'bag_1'和'bag_2'的列表。因此,您的if语句始终为false(即笔记本始终执行else语句)。发生这种情况是因为函数print(random.choice(bag))在输出选项卡中显示了'bag_1'或'bag_2',但是它没有将该值分配给变量bag,后者仍然是列表。

如果我正确理解了您要实现的目标,则解决方案可能是定义第二个变量,例如bag_chosen

import random

bag = ['bag_1','bag_2']
bag_chosen = random.choice(bag)
print(bag_chosen) # in case you still want to print the chosen bag

if bag_chosen == 'bag_1':
    colour = 'white','black'
    print(random.choices(colour,weights=(30,70),k = 1))
else:
    colour = 'white',weights=(60,40),k = 1))

此代码从列表中随机选择一个袋子,然后根据所出的袋子,根据指定的重量选择颜色。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...