python经典算法小程序-python实现抽奖小程序

本文介绍了如何使用Python设计一个抽奖服务,该服务根据指定的奖品数量、发放天数和每天最低发放量,在不确定的参与者数量范围内,实现随机且均匀的抽奖。服务端接收并处理客户端发送的天数信息,调用抽奖算法确定中奖情况。
摘要由CSDN通过智能技术生成

本文实例为大家分享了python实现抽奖小程序的具体代码,供大家参考,具体内容如下

设计一个抽奖服务

背景:有x个奖品,要求在y天内发完;每天至少发放z个奖品;每天抽奖人数不定,事先会假设一个范围是m-n

举例:有100个奖品,要求5天内发完,每天至少发15个奖品;每天来抽奖的人估计是 2000-3000 人,希望奖品能够比较均匀,但随机的抽取出来。

接口要求:服务监听一个端口,测试程序不断连接,发送一个数字代表是第几天,比如第1-2000个请求发送1(模拟第一天来了2000人),第2001到5000请求发送2(模拟第二天来了3000人)... 服务返回 0 or 1 表示是否抽到奖品

client.py:设置初始化参数,模拟用户向server端发送数据

# -*- coding: utf-8 -*-

import socket

import random

address = ('127.0.0.1', 31500)

s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

x = int(input("奖品个数x:"))

y = int(input("发放天数y:"))

z = int(input("每天至少发放奖品个数:"))

m = int(input("最少人数m:"))

n = int(input("最多人数n:"))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值