choice()接受2个位置参数,但给出了3个

2024-09-27 13:23:10 发布

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

import random
class Environment(object):
    def __init__(self):
        self.locationcondition={'A': '1' , 'B': '1' }
        
self. locationcondition['A']=random.choice(0,1)
self. locationcondition['B']=random.choice(0,1)

Tags: importselfobjectenvironmentinitdefrandomclass
2条回答

你好Mirza很高兴你加入我们的社区

简短回答:将[0,1]作为列表传递

self. locationcondition['A']=random.choice([0,1])
self. locationcondition['B']=random.choice([0,1])

长答案

在Python中,random.choice接受列表或集合等。例如,作为一个论点

my_list = [1, 2, 3, 4, 5]
a = random.choice(my_list)
print(a) # it will print random value from my_list

但是请记住,Python严重依赖缩进 因此,在修复选择错误后,您将遇到另一个错误,这两行

self.locationcondition['A']=random.choice(0,1)
self.locationcondition['B']=random.choice(0,1)

不在正确的缩进中,它们应该是这样的(更正的代码

import random
class Environment(object):
    def __init__(self):
        self.locationcondition={'A': '1' , 'B': '1' }
        
        self.locationcondition['A']=random.choice([0,1])
        self.locationcondition['B']=random.choice([0,1])

您需要给random.choice一系列选项

序列可以是元组、列表甚至生成器之类的东西

在您的情况下,您应该使用以下内容: random.choice((0,1))

相关问题 更多 >

    热门问题