当然可以!让我们来写一个简单的随机抽人程序,满足你的需求。
import random
# 六个人的名单
people = ["小明", "小红", "小刚", "小芳", "小强", "小美"]
# 初始化一个记录已抽取人员的集合
picked = set()
def random_pick():
while True:
# 如果已经抽取了全部六人,重置已抽取集合
if len(picked) == len(people):
picked.clear()
# 随机抽取一个人
person = random.choice(people)
# 如果这个人还没被抽过,则记录并返回
if person not in picked:
picked.add(person)
return person
# 示例用法:连续抽取六次
for _ in range(6):
winner = random_pick()
print(f"恭喜 {winner} 被抽中啦!")
# 可以多次调用 random_pick() 进行不重复抽取
这段代码的逻辑很简单:
1. 使用列表 `people` 存储六个人的名字。
2. 使用集合 `picked` 记录已经被抽取过的人。
3. 定义 `random_pick()` 函数来实现随机抽取逻辑:如果已经抽取了全部六人,则重置集合;否则,随机选择一个未被抽取过的人并记录。
4. 示例中,使用 `for` 循环连续抽取六次,并输出每次抽取的结果。
你可以根据需要随时调用 `random_pick()` 函数来进行抽取,程序会确保每次抽取的结果不重复,直到所有人都被抽取过一次后重新开始。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |