gpt4 book ai didi

python-3.x - 每次按下键时如何获得随机项目?

转载 作者:行者123 更新时间:2023-12-02 00:56:14 24 4
gpt4 key购买 nike

每次按下某个键时,我的程序应该从列表中随机获取一个名称,然后从列表中删除该名称。使用我现在拥有的代码,选择了一个随机名称,但列表已完全清空。

我已经尝试了 forwhile 循环,但我不确定在这种情况下使用什么。

x = win.getKey()
while len(members) > 0:
if x:
name = random.choice(members)
members.remove(name)

如上所述,我想随机抽取一个名称,并在每次按下键时从列表中删除该名称,直到列表为空。

最佳答案

您需要将按键提示放入循环中以导致循环暂停并等待每个元素的输入,否则循环将运行完成并立即清空整个列表。

import random

members = [1,2,3,4,5,6,7,8,9]

while members:
if win.getKey():
choice = random.choice(members)
members.remove(choice)
print(choice)

输出:

8
4
2
3
7
6
9
5
1

如果列表非常大,remove 是一个缓慢的线性操作,需要一个一个地检查列表中的每个元素以找到匹配项。考虑使用快速(摊销)常数时间 pop 操作,该操作使用索引来查找目标元素而无需搜索:

import random

members = [1,2,3,4,5,6,7,8,9]

while members:
if win.getKey():
choice = members.pop(random.randint(0, len(members) - 1))
print(choice)

关于python-3.x - 每次按下键时如何获得随机项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54010408/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com