import random
num = []                                # 用于存放抽奖码
print("欢迎来到抽奖小程序!")while True:usernum = input("请输入参与抽奖的人数:")reward = input("请输入中奖人数:")if usernum.isdigit() == True and reward.isdigit() == True and usernum > reward:breakelse:print("输入非法,请重新输入!")continue
usernum = int(usernum)
reward = int(reward)# 将抽奖码添加到num中
for i in range(usernum):prizenum = input("请输入第" + str(i + 1) + "个抽奖码:")num.append(prizenum)resultList = []                         # 用于存放随机数结果
# 生成随机数的递归数,参数counter表示当前准备要生成的第几个有效随机数
def generateRand(counter):tempInt = random.randint(0, usernum-1)     # 生成一个范围内的临时随机数if(counter <= reward):                   # 先看随机数的总个数是不是够了,如果不够if(tempInt not in resultList):  # 再检查当前已经生成的临时随机数是不是已经存在resultList.append(tempInt)  # 如果不存在,则将其追加到结果resultList中counter += 1                # 然后将表示有效结果的个数加1generateRand(counter)           # 不管上面的if是否成立,都要递归。
generateRand(1)                    # 调用递归函数,并给当前要生成的有效随机数的个序号置为1prize = []                              # 用于存放中奖号码
# 将中奖号码添加到结果prize中
for j in range(reward):prize.append(num[resultList[j]])
print("\n中奖用户:")           # 输出中奖结果
for k in range(reward):print(prize[k], end="\n")

运行结果:

随机抽奖程序(每天一个python小项目)相关推荐

  1. python秒表项目_第一个Python小项目——秒表

    一.项目描述: 前言: 这只是我今天试着写的一个小项目,这个项目我发在博客上只是为了便于保存,日后自己看起来方便,所以很多地方没有写注释,如果大家有什么想法,欢迎给我留言. 项目名称: 简易秒表 开发 ...

  2. 我写了一个Python小项目

    最近我写了一个 Python 练手小项目,它是一个 PC 桌面版的便签程序,很简陋.写这个小项目是为了熟悉一下用 Python 进行一个完整的项目开发,进一步熟练 Python 的使用. 界面是这样的 ...

  3. 基于tkinter的随机抽奖程序(每天一个python小项目)

    import csv import tkinter as tk import tkinter.messagebox import datetime import pandas as pd import ...

  4. python小程序-第一个python小程序——即时动态时钟(代码解读)

    代码资源来自: 一.完整代码: #coding=UTF-8 from turtle import * from datetime import * def Skip(step): #建立表的外框 pe ...

  5. 幸运大转盘(每天一个python小项目)

    from turtle import * import turtle from random import randint import sys #屏幕初始化 screen = turtle.Scre ...

  6. 使用OpenCV-Python为照片添加不同滤镜(每天一个python小项目)

    原图如下所示: 灰度滤镜 import cv2 # 导入OpenCV-Python模块 import os # 导入文件与系统模块 import numpy as np # 导入数值计算库'''* 功 ...

  7. 创建动态时钟(每天一个python小项目)

    ''' 动态时钟 ''' import turtle # 导入绘图海龟模块 import datetime # 导入日期时间模块# 移动一段距离 def skip(distance): # 移动方法, ...

  8. 九宫格切图器(每天一个python小项目)

    首先安装PIL库: import tkinter as tk from PIL import Image,ImageTk import sys import tkinter.filedialog im ...

  9. 商品价格竞猜简易版(每天一个python小项目)

    list = [['小米手环4',209],['荣耀手环5',199],['华为手环B5',849],['ZNNCO智能血压手环',379]] order = 0 price = 0 print(&q ...

最新文章

  1. 一分钟AI | Numpy将放弃Python2.7全面支持Python3,柯洁苦战终结AI41连胜深夜失眠发文感慨
  2. 使用ISDN和DDR技术改善远程连接性能
  3. python将索引升序_程序在Python中按升序删除元素后获取列表的索引
  4. oracle decode函数
  5. 文献记录(part22)--Learning local metrics from pairwise similarity data
  6. linux终端密码星星,如何获得您的sudo密码在Ubuntu中显示为星号 | MOS86
  7. 每隔一段时间执行php_用php脚本,你如何定时更新商品列表
  8. DeepMind为明年的AAAI,准备了一份各种DQN的混血
  9. 图片报错,显示默认图片
  10. CorelDRAWX8安装包下载 全新矢量图形编辑设计工具
  11. 重磅干货整理】机器学习(Machine Learning)与深度学习(Deep Learning)资料汇总
  12. java语言介绍以及各个编程语言特点
  13. 7-7 词典 (15 分)
  14. 我靠!Semaphore里面居然有这么一个大坑!
  15. trufflle init 出现 unbox fail的情况
  16. 杰理之使用MIC隔电容方案,微信语音前几秒也出现“哒哒”【篇】
  17. NLP(八):文本表示:word2vec原理及其gensim实现
  18. 转:eclipse failed to create the java virtual machine 问题图文解析
  19. 【JZOJ4763】【NOIP2016提高A组模拟9.7】旷野大计算
  20. 交换瓶子(蓝桥杯真题)

热门文章

  1. 华为OD机试题 - 竖直四子棋(JavaScript)| 包含代码编写思路
  2. 【Bzoj1875】HH去散步
  3. 佳能Canon iR8500 LIPS 打印机驱动
  4. 算法-寻找第k小元素(C)
  5. 首页小房子图标html代码,html5及css3做的3D小房子
  6. 高可用ftp、sftp服务器的搭建
  7. (C语言!)广义表(头尾链表)的建立和输出
  8. FP5207 外置MOS大功率升压芯片
  9. 基于单片机的功放protues_基于Proteus的音频放大器电路设计与仿真详解.doc
  10. java 调用linux的tts_中文TTS 的简单实现(基于linux)之 实现语音合成