编辑代码

import random as r
import time as t

def po(name_list, lucky_man_list):
    a = r.randint(0, len(name_list) - 1)
    b = name_list[a]
    lucky_man_list.append(b)
    del name_list[a]

def op(q, w):
    for i in range(q):
        t.sleep(w)
        print(".")

# 主程序
while True:
    name = [str(i) for i in range(1,34)]  # 使用字符串表示同学,避免与数字操作混淆
    lucky_man = []

    s = int(input('中奖人数要几个:'))
    if s <= 0 or s > len(name):
        print("请输入一个有效的中奖个数(1到{}之间)".format(len(name)))
        continue  # 如果输入无效,重新询问

    op(3, 0.5)
    print('参与的个数有:')
    print(', '.join(name))
    print('参与人数是:', len(name))
    op(3, 0.5)
    print('正在抽奖中,请稍后')
    op(5, 0.5)
    print('让我们等待三秒钟再看看谁是幸运儿')
    op(3, 1)

    print('让我们看看是谁中奖了:')
    for i in range(s):
        po(name, lucky_man)
        print('.', end='', flush=True)  # 实时更新输出,避免一次性打印多个逗号
    print()  # 换行
    print(', '.join(lucky_man))
    print('等待五秒钟后结束本轮抽奖')
    op(10, 0.5)
    break

import random as r
import time as t

def po(name_list, lucky_man_list):
    a = r.randint(0, len(name_list) - 1)
    b = name_list[a]
    lucky_man_list.append(b)
    del name_list[a]

def op(q, w):
    for i in range(q):
        t.sleep(w)
        print(".")

# 主程序
while True:
    name = [str(i) for i in range(1,17)]  # 使用字符串表示同学,避免与数字操作混淆
    lucky_man = []

    s = int(input('中奖人数要几个:'))
    if s <= 0 or s > len(name):
        print("请输入一个有效的中奖个数(1到{}之间)".format(len(name)))
        continue  # 如果输入无效,重新询问

    op(3, 0.5)
    print('参与的个数有:')
    print(', '.join(name))
    print('参与人数是:', len(name))
    op(3, 0.5)
    print('正在抽奖中,请稍后')
    op(5, 0.5)
    print('让我们等待三秒钟再看看谁是幸运儿')
    op(3, 1)

    print('让我们看看是谁中奖了:')
    for i in range(s):
        po(name, lucky_man)
        print('.', end='', flush=True)  # 实时更新输出,避免一次性打印多个逗号
    print()  # 换行
    print(', '.join(lucky_man))
    print('等待五秒钟后结束本轮抽奖')
    op(10, 0.5)