随机抽奖程序(每天一个python小项目)
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小项目)相关推荐
- python秒表项目_第一个Python小项目——秒表
一.项目描述: 前言: 这只是我今天试着写的一个小项目,这个项目我发在博客上只是为了便于保存,日后自己看起来方便,所以很多地方没有写注释,如果大家有什么想法,欢迎给我留言. 项目名称: 简易秒表 开发 ...
- 我写了一个Python小项目
最近我写了一个 Python 练手小项目,它是一个 PC 桌面版的便签程序,很简陋.写这个小项目是为了熟悉一下用 Python 进行一个完整的项目开发,进一步熟练 Python 的使用. 界面是这样的 ...
- 基于tkinter的随机抽奖程序(每天一个python小项目)
import csv import tkinter as tk import tkinter.messagebox import datetime import pandas as pd import ...
- python小程序-第一个python小程序——即时动态时钟(代码解读)
代码资源来自: 一.完整代码: #coding=UTF-8 from turtle import * from datetime import * def Skip(step): #建立表的外框 pe ...
- 幸运大转盘(每天一个python小项目)
from turtle import * import turtle from random import randint import sys #屏幕初始化 screen = turtle.Scre ...
- 使用OpenCV-Python为照片添加不同滤镜(每天一个python小项目)
原图如下所示: 灰度滤镜 import cv2 # 导入OpenCV-Python模块 import os # 导入文件与系统模块 import numpy as np # 导入数值计算库'''* 功 ...
- 创建动态时钟(每天一个python小项目)
''' 动态时钟 ''' import turtle # 导入绘图海龟模块 import datetime # 导入日期时间模块# 移动一段距离 def skip(distance): # 移动方法, ...
- 九宫格切图器(每天一个python小项目)
首先安装PIL库: import tkinter as tk from PIL import Image,ImageTk import sys import tkinter.filedialog im ...
- 商品价格竞猜简易版(每天一个python小项目)
list = [['小米手环4',209],['荣耀手环5',199],['华为手环B5',849],['ZNNCO智能血压手环',379]] order = 0 price = 0 print(&q ...
最新文章
- 一分钟AI | Numpy将放弃Python2.7全面支持Python3,柯洁苦战终结AI41连胜深夜失眠发文感慨
- 使用ISDN和DDR技术改善远程连接性能
- python将索引升序_程序在Python中按升序删除元素后获取列表的索引
- oracle decode函数
- 文献记录(part22)--Learning local metrics from pairwise similarity data
- linux终端密码星星,如何获得您的sudo密码在Ubuntu中显示为星号 | MOS86
- 每隔一段时间执行php_用php脚本,你如何定时更新商品列表
- DeepMind为明年的AAAI,准备了一份各种DQN的混血
- 图片报错,显示默认图片
- CorelDRAWX8安装包下载 全新矢量图形编辑设计工具
- 重磅干货整理】机器学习(Machine Learning)与深度学习(Deep Learning)资料汇总
- java语言介绍以及各个编程语言特点
- 7-7 词典 (15 分)
- 我靠!Semaphore里面居然有这么一个大坑!
- trufflle init 出现 unbox fail的情况
- 杰理之使用MIC隔电容方案,微信语音前几秒也出现“哒哒”【篇】
- NLP(八):文本表示:word2vec原理及其gensim实现
- 转:eclipse failed to create the java virtual machine 问题图文解析
- 【JZOJ4763】【NOIP2016提高A组模拟9.7】旷野大计算
- 交换瓶子(蓝桥杯真题)
热门文章
- 华为OD机试题 - 竖直四子棋(JavaScript)| 包含代码编写思路
- 【Bzoj1875】HH去散步
- 佳能Canon iR8500 LIPS 打印机驱动
- 算法-寻找第k小元素(C)
- 首页小房子图标html代码,html5及css3做的3D小房子
- 高可用ftp、sftp服务器的搭建
- (C语言!)广义表(头尾链表)的建立和输出
- FP5207 外置MOS大功率升压芯片
- 基于单片机的功放protues_基于Proteus的音频放大器电路设计与仿真详解.doc
- java 调用linux的tts_中文TTS 的简单实现(基于linux)之 实现语音合成