我想知道是否有可能创建一个类似引用的代码
我的意思是,如果有可能创建一个带有布尔值(False)的数组,那么只选择一个(随机)并将其值更改为True,然后就可以使用它了
当程序启动时,第一次随机选择只能进行一次
Gentleman = False
Daughter = False
Madam = False
character_list = [Gentleman, Daughter, Madam] # an array with the bools above
for character in characters_list:
character = random.choice(characters_list) # Randomly pick a character from the list
character = True # Set the character as True
if Madam == True:
...
Madam = False
Daughter = True
...
if Gentleman == True:
...
Gentleman = False
Madam = True
...
if Daughter == True:
...
Daughter = False
Gentleman = True
...
PS:我知道我的代码是错误的,但它只是试图说明我想做什么
谢谢你的帮助
更新
因此,在尝试了评论中的内容之后,我发现自己遇到了一个问题
Gentleman = False
Daughter = False
Madam = False
character_list = [Gentleman, Daughter, Madam] # an array with the bools above
print(characters_list)
characters_list[random.randint(0, len(characters_list)-1)] = True
print(characters_list)
print("Starting up ...")
if Madam == True:
print("Hello Madam")
...
Madam = False
Daughter = True
...
输出
[False, False, False]
[False, False, True]
Starting up ...
由于我没有进入if Madam == True:
我想我不太明白如何使用它,我应该怎么做才能让我的代码理解Madam已变为True并进入if语句
(顺便说一句,我是Python新手)
不太复杂。本质上,您要做的是在列表中选择一个随机索引,并更改该项。比如说,
或者,封装到函数中:
然后,您可以这样使用它:
这将打印
[True, False, False]
、[False, True, False]
或[False, False, True]
。希望这有帮助要使用布尔值(False)创建数组并随机更改其中一个值(True),请尝试:
代码:
输入
输出
解释
random
模块的randint()
函数从列表中随机选择一个介于0和length-1
之间的数字更新
您的代码似乎保证了python
dict
,因此请尝试将上述逻辑修改为:代码:
输入:
输出:
解释
dict
,而不是列表random
模块的random.choice()
函数从dict
中随机选择一个a键dict
中的随机布尔值替换为新的布尔值相关问题 更多 >
编程相关推荐