import random as r
import time as t
def draw_winner(name_list, winner_list):
index = r.randint(0, len(name_list) - 1)
winner = name_list[index]
winner_list.append(winner)
del name_list[index]
def print_dots(count, interval):
for _ in range(count):
t.sleep(interval)
print(".", end="", flush=True)
print()
all_participants = [ ]
remaining_participants = all_participants.copy()
winners = []
while True:
print("\n当前参与抽奖名单:", ", ".join(remaining_participants))
print("参与人数:", len(remaining_participants))
print("已中奖名单:", ", ".join(winners) if winners else "暂无")
try:
winner_count = int(input('请输入中奖人数(1-{}), 输入0退出: '.format(len(remaining_participants))))
if winner_count == 0:
print("抽奖结束!")
break
if winner_count <= 0 or winner_count > len(remaining_participants):
print("请输入有效的中奖人数!")
continue
print("\n正在抽奖中...")
print_dots(5, 0.3)
print("中奖者是:")
for _ in range(winner_count):
draw_winner(remaining_participants, winners)
print(".", end="", flush=True)
t.sleep(0.5)
print("\n\n恭喜以下同学中奖:", ", ".join(winners[-winner_count:]))
print_dots(3, 0.5)
if not remaining_participants:
print("所有参与者都已抽完!")
break
except ValueError:
print("请输入数字!")