用phthon写抽奖程序

循环进行抽奖,按一次回车进行一次抽奖(一共10人),抽四人且其中有一个人固定不变


import random

people = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10"]

while True:
    input_str = input("按回车键进行抽奖:")
    if input_str == "":
        # 随机打乱人员顺序
        
        random.shuffle(people)
        # 选定固定人员"1"并从剩下的九个人中随机抽取三人
        winners = ["1"] + random.sample(people[1:], 3)
        print("恭喜以下四位中奖:")
        # 每行输出10人,格式化输出
        for i in range(0, len(winners), 10):
            print("  ".join(winners[i:i+10]))
    else:
        break

用随机函数 random.choice() 方法可以达成。

  详情请看我的学习笔记“用 Python 写抽奖程序 ”。

  • 代码运行效果截屏图片

    img


    img


    img

  • 按回车抽奖

    img

  • Python 代码
#!!sur/bin/nve python
# coding: utf-8
from random import choice # 加载随机抽奖方法。
from random import shuffle # 加载“洗牌”方法。


clear = '\033[2J' # 清屏字符串。
error_tip = f"\n{' 输入错误!':~^45}"
persons = list(range(10))

while True: # 循环输入,输入正确结束循环。
    print(f"{clear}\n{'用':>5}{', '.join(map(str, persons))}”表示待抽奖的十人,设定一个固定中奖人。\n{'':~^50}")
    n = input(f"{'设定固定中奖人(0~9):':>14}")
    if n.isdigit():
        n = int(n) # 固定中奖人。

        if not 0 <= n <10:
            input(error_tip)
            continue

        break
    else:
        input(error_tip)

persons.remove(n) # 剔除固定中奖的8。
#print(persons) #调试用语句。
win = [n] # 中奖列表初值。

k = 3 # 循环抽奖次数。
while k > 0:
    input(f"{clear}\n{' 循环抽奖 ':~^46}\n\n{f'剩余抽奖 {k} 次,请按回车抽奖。':^37}\n\n")
    temp = choice(persons) # 随机抽奖。
    k -= 1 # 抽奖次少1。
    persons.remove(temp) # 剔除已抽出的人。
    win.append(temp) # 抽中的人加入中奖列表

shuffle(win) # 打乱中奖列表。
winer = f"本次中奖:{'、'.join(map(str, win))}"
print(f"{clear}\n{'':~^50}\n\n{winer:^42}\n\n{'':~^50}\n")
  • 这篇博客: Phthon3爬取前程无忧数据量信息中的 文章目录 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 以下回答由chatgpt基于相关博客总结生成:

    我可以为您提供以下的Python代码,实现一个简单的抽奖程序:

    import random
    
    # 参赛者名单,其中固定人员为'Alice'
    participants = ['Bob', 'Charlie', 'David', 'Eva', 'Frank', 'Grace', 'Henry', 'Ivy', 'Jack', 'Alice']
    
    # 随机抽取4位获奖者,其中'Alice'必须被排除掉
    winners = random.sample(participants.remove('Alice'), 4)
    
    print('恭喜获奖者:{}'.format(winners))
    

    这个程序首先定义了参赛者名单,其中固定的不变人员为'Alice',然后使用Python标准库random中的sample函数,从参赛者名单中随机抽取4个获奖者。注意,由于'Alice'是不可被选取的,因此在运行sample函数之前,必须先将'Alice'从参赛者名单中删除。最后,程序输出获奖者名单。