随机抽签工具

这是一个使用 Python 编写的随机抽签工具,可以方便地从输入的成员列表中随机抽取成员。

功能

  • 输入成员列表: 用户可以输入成员姓名,构建成员列表。
  • 随机抽取: 从成员列表中随机抽取一名成员,并将其从列表中剔除。
  • 剔除已抽中成员: 可以将已抽中的成员从成员列表中剔除,避免重复抽取。
  • 显示列表: 可以显示当前成员列表和已抽中成员列表。

代码

import random

# 初始化成员列表和已抽中成员列表
members = []
selected = []

# 文本输入函数,用于输入成员列表
def input_members():
    print('请输入成员姓名(输入 0 以结束):')
    while True:
        member = input()
        if member == '0':
            break
        members.append(member)

# 抽中剔除函数,用于将已抽中成员从成员列表中剔除
def remove_selected():
    for s in selected:
        if s in members:
            members.remove(s)

# 抽签函数,用于随机抽取一个成员
def pick_member():
    if len(members) == 0:
        print('抽签已结束,所有成员都已被抽中!')
        return False
    selected_member = random.choice(members)
    selected.append(selected_member)
    members.remove(selected_member)
    print(f'恭喜 {selected_member} 被抽中!')
    return True

# 回显函数,用于显示成员列表和已抽中成员列表
def show_members():
    print('成员列表:')
    for member in members:
        print(member)
    print('已抽中成员列表:')
    for member in selected:
        print(member)

# 主程序
print('欢迎使用抽签工具!')
# 文本输入成员列表
input_members()
print('成员列表:')
print(members)
# 开始抽签
while True:
    print('请输入命令(输入 help 查看帮助):')
    command = input()
    if command == 'quit':
        print('退出程序。')
        break
    elif command == 'help':
        print('可用命令:')
        print('  help - 查看帮助')
        print('  pick - 抽签')
        print('  remove - 剔除已抽中成员')
        print('  show - 显示成员列表和已抽中成员列表')
        print('  quit - 退出程序')
    elif command == 'pick':
        if pick_member():
            continue
        else:
            break
    elif command == 'remove':
        remove_selected()
        print('已剔除已抽中成员!')
    elif command == 'show':
        show_members()
    else:
        print('无效命令,请重新输入!')

功能测试内容

欢迎使用抽签工具!
请输入成员姓名(输入 0 以结束):
Alice
Bob
Cindy
Daniel
0
成员列表:
['Alice', 'Bob', 'Cindy', 'Daniel']
请输入命令(输入 help 查看帮助):
pick
恭喜 Cindy 被抽中!
请输入命令(输入 help 查看帮助):
show
成员列表:
Alice
Bob
Daniel
已抽中成员列表:
Cindy
请输入命令(输入 help 查看帮助):
pick
恭喜 Daniel 被抽中!
请输入命令(输入 help 查看帮助):
show
成员列表:
Alice
Bob
已抽中成员列表:
Cindy
Daniel
请输入命令(输入 help 查看帮助):
remove
已剔除已抽中成员!
请输入命令(输入 help 查看帮助):
show
成员列表:
Alice
Bob
已抽中成员列表:
Cindy
Daniel
请输入命令(输入 help 查看帮助):
pick
恭喜 Bob 被抽中!
请输入命令(输入 help 查看帮助):
show
成员列表:
Alice
已抽中成员列表:
Cindy
Daniel
Bob
请输入命令(输入 help 查看帮助):
pick
恭喜 Alice 被抽中!
请输入命令(输入 help 查看帮助):
show
成员列表:
已抽中成员列表:
Cindy
Daniel
Bob
Alice
请输入命令(输入 help 查看帮助):
pick
抽签已结束,所有成员都已被抽中!
随机抽签工具 - Python 代码实现

原文地址: https://www.cveoy.top/t/topic/o2oW 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录