day2_python年会抽奖游戏
目录
- 一、for循环
- 1.1 语法
- 1.2 循环猜年龄:最多允许猜三次,猜对了就退出程序
- 1.3 列表打印50-100奇偶数
- 1.3 循环嵌套
- 二、break&continue
- 三、打印星星
- 三、while循环
- 3.1 ⽤while 实现循环猜年龄
- 3.2 打印乘法表
- 四、京牌摇号小程序
- 4.1 random模块:可以产⽣指定范围内的随机数、字符串等
- 4.2 string模块
- 4.3 join:
- 五、年会抽奖程序
- 六、faker模块
一、for循环
1.1 语法
for i in range(10): print(i)
range(10),其实是相当于产⽣了⼀个从0到9的列表,每循环⼀次,就会把列表⾥的下⼀个元素取出来给临时变量i。
print( list(range(10)) ) # 可以验证range(10) 就是产⽣了⼀个列表
1.2 循环猜年龄:最多允许猜三次,猜对了就退出程序
goad_age=29for i in range(3):guess_age=int(input("请输入你猜的年龄:"))if guess_age > goad_age:print("猜的太⼤了,往⼩⾥试试...")elif guess_age < goad_age:print("猜的太小了,往大⾥试试...")else:exit("猜对了...")exit("次数用完,挑战失败") # 退出程序
1.3 列表打印50-100奇偶数
temp=[]
for i in range(50,101):if i%2 == 1:temp.append(i)else:temp=temp
print(temp)
1.3 循环嵌套
⼀栋楼有5层,每层8间屋⼦,要求你把本楼所有的房间号打印⼀遍, 格式“1层-104”, “2层-205“
for i in range(1,6):for j in range(1,9):print(f"{i}层-{i}0{j}")
二、break&continue
像上边循环嵌套⼩节那个打印楼层的⼩程序,需求改了, 遇到第3层时,不打印任何房间号,其它层都打印。这个怎么实现呢?
continue
continue的语法作⽤是, 只要程序⼀遇到continue, 本次循环就不继续了,直接进⼊下⼀次循环
for i in range(1,6):for j in range(1,9):if i == 3:continue # 跳过本次循环,继续下次循环print(f"{i}层-{i}0{j}室")
break
break的语法作⽤是,只要程序遇到break, 就会结束当前这个循环, 注意如果是多层嵌套循环,只结束当前这⼀层的循环。
第三层不输出,404后不输出
for i in range(1, 6):for j in range(1, 9):if i == 3:print("不⾛3层.......")continue # 跳过本次循环,继续下次循环if i == 4 and j == 4: # 遇到404print("遇到⻤屋404了,不再继续了")break # 结束当前循环, 注意只会结束第2层这个⼩循环。print(f"{i}层-{i}0{j}室")
第三层不输出,404改成40x
for i in range(1, 6):for j in range(1, 9):if i == 3:print("不⾛3层.......")continue # 跳过本次循环,继续下次循环if i == 4 and j == 4: # 遇到404print(f"{i}层-{i}0X室")print(f"{i}层-{i}0{j}室")
三、打印星星
for i in range(1,10):if i < 6:print("*"*i)else:print("*"*(10-i))
三、while循环
与for必须指定循环多少次不⼀样的是, while 循环的次数可以是不定的,只要条件满⾜就可以永远循环下去
while 条件: # 只要条件为真, 就会不断的循环print(xxxxx)
循环10次:
count = 0
while count < 10:print("第{count}次循环....")count += 1
3.1 ⽤while 实现循环猜年龄
允许⽤户猜3次,若还不对,告诉他,你真笨,还想继续猜么? 如果⽤户选择y, 就让他继续,如果选择n, 就退出。
count = 0
black_gf_age = 25
while True:count += 1if count <= 3:guess = int(input("猜猜⿊姑娘多⼤了>>:"))if guess > black_gf_age:print("猜的太⼤了,往⼩⾥试试...")elif guess < black_gf_age:print("猜的太⼩了,往⼤⾥试试...")else:exit("恭喜你,猜对了...") # 退出程序else:choice = input("猜了3次还不对,真是笨呀,还玩么? [y/Y or n/N]").strip()# strip删除字符串左右两侧的空格或特殊字符,特殊字符:制表符(\t)、回车符(\r)、换行符(\n)等if len(choice) == 0 :continue # 不能写空值if choice in ("y","Y"):count = 0elif choice in ("n","N"):exit("bye.")else:print("请输⼊正确的选项...")
3.2 打印乘法表
默认:end=“\n”
# 九九乘法表
for i in range(1, 10):for j in range(1, i+1): # j=[1,i]print(f'{j}x{i}={i*j}\t',end='') # 或者使用这个:print(f'{j}x{i}={i*j}',end=' ') end后引号内加一个空格# \t是相当于四个空格# end=” "的意思是为末尾end传递一个空字符串,表示这个语句没结束。print() # 小循环不换行,大循环换行
四、京牌摇号小程序
需求:
- 允许⽤户最多选3次
- 每次放出20个⻋牌供⽤户选择
- 京[A-Z]-[xxxxx], 可以是数字和大写字⺟在组合
4.1 random模块:可以产⽣指定范围内的随机数、字符串等
random.choice(seq)函数:从非空序列中随机选取一个数据并返回,该序列可以是list、tuple、str、set。
random.sample的用法,多用于截取列表(字符串)的指定长度的随机数,但是不会改变本身的排序;
random.randint(参数1, 参数2),函数返回参数1和参数2之间的任意整数,且1和2必须是整数。
>>> import random # 导⼊random模块
>>>random.choice("abcdefghi") # 参数也可以是⼀个列表
'd'
>>> s = "abcdefghijklmn"
>>> random.sample(s,3) # 从数据源s中随机取出3个值
['b', 'a', 'k']
>>> random.randint(1,100) # 打印⼀个随机数
79
4.2 string模块
>>> import string # 导⼊string模块
>>> string.ascii_letters
'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
>>> string.ascii_uppercase
'ABCDEFGHIJKLMNOPQRSTUVWXYZ' # ⼤写字⺟
>>> string.ascii_lowercase # ⼩写字⺟
'abcdefghijklmnopqrstuvwxyz'
>>> string.punctuation # 打印特殊字符
'!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'
>>> string.digits # 打印数字
'0123456789'
4.3 join:
代码实现:
import random
import stringupper_case_letters = string.ascii_uppercase # 大写字母A-z
number = string.digits # 0-9
com_num_letter = upper_case_letters+number #A-Z0-9count = 3
while count>0:count-=1num_list = []for i in range(20):first_English = random.choice(upper_case_letters) # 大写字母选一个作为第一个区域号# last_five_digits1 = random.sample(com_num_letter,5) # 形式['','','',]last_five_digits = "".join(random.sample(com_num_letter,5))car_num = f"京{first_English}-{last_five_digits}"num_list.append(car_num)print(num_list)choice_num = input("请输入你选择的车牌号“京[A-Z]-[xxxxx]”:").strip()if choice_num in num_list:exit(f"恭喜你选对了,你的车牌为{choice_num}")else:print(f"未选中,您还有{count}次机会。")
五、年会抽奖程序
解题思路:
- ⽣成⼀个员⼯列表,⽤random模块从⾥⾯取随机值
- 取完值之后,⽴刻从员⼯⼤列表⾥把中奖⼈删掉,即可防⽌其再次中奖
import random
import string# 抽奖规则
Lottery_rules = f'''
------------- 抽奖规则 --------------⼀等奖 3名, 泰国5⽇游⼆等奖6名,Iphone⼿机三等奖30名,避孕套⼀盒
------------- 开始抽奖 --------------
'''
print(Lottery_rules)# 生成300个数字代表300名员工
Employee_No = list(range(1, 301))count = 0
num = [3,6,30]
while count < 3:count+=1leveol_prizes = 4-countnum_prizes = num[leveol_prizes-1]tis = input(f"第{count}轮抽奖:{leveol_prizes}等奖{num_prizes}名")Winning_list = random.sample(Employee_No,num_prizes)print(f"中奖名单为:{Winning_list}")# 去除中奖for i in Winning_list:Employee_No.remove(i)
六、faker模块
import faker
list=[]
alex = faker.Faker(locale="zh_CN") # en_US
print(alex)for i in range(1,10):list.append(alex.name())
print(list)
day2_python年会抽奖游戏相关推荐
- 苹果手机html5摇一摇游戏戏码,利用HTML5的devicemotion事件实现手机摇一摇抽奖,年会抽奖,html5devicemotion...
利用HTML5的devicemotion事件实现手机摇一摇抽奖,年会抽奖,html5devicemotion 摇一摇JS脚本逻辑: 接下来是移动端JS脚本逻辑的实现,摇一摇的实现需借助html5新增的 ...
- 使用 SQL 语句实现一个年会抽奖程序
作者 | 董旭阳 责编 | 张文 头图 | CSDN 下载自视觉中国 出品 | CSDN(ID:CSDNnews) 年关将近,抽奖想必是大家在公司年会上最期待的活动了.如果老板让你做一个年会抽奖的程 ...
- python抽奖游戏_python实现转盘效果 python实现轮盘抽奖游戏
本文实例为大家分享了python实现转盘效果的具体代码,供大家参考,具体内容如下 #抽奖 面向对象版本 import tkinter import time import threading clas ...
- 年会抽奖程序准备好了吗?没有的话,直接来取!
大家好,我是TJ 关注TJ君,回复"武功秘籍"免费获取计算机宝典书籍 到年底了是不是要开年会了? 年会上大家最期待的项目是什么? 相信不少小伙伴最最期待的肯定是抽奖啦~ 不过抽奖呢 ...
- 小程序组件库开发之抽奖游戏组件
笔者在之前写了一篇关于小程序抽奖游戏组件的文章,当时的设计比较粗糙,组件的可复用性也不是很好,这里笔者新开发了一个抽奖小游戏组件,表现形式上和可复用性上都相对之前有了不小的提升. 读者朋友可以先看一下 ...
- Python使用numpy和pandas模拟转盘抽奖游戏
之前写过一个类似的代码,不过都是用的Python内置对象,详见几行Python代码模拟轮盘抽奖游戏,本文再提供一个使用numpy和pandas实现的代码. 问题描述:有时候饭店或商场会搞活动,门口一个 ...
- Python——模拟轮盘抽奖游戏
题目要求: 模拟轮盘抽奖游戏 轮盘分为三部分: 一等奖, 二等奖和三等奖; 轮盘转的时候是随机的, 如果范围在[0,0.08)之间,代表一等奖, 如果范围在[0.08,0.3)之间,代表2等奖, 如果 ...
- Axure移动端app抽奖转盘+电商圆盘抽奖+商品抽奖+年会抽奖+抽奖动态+Axure通用抽奖转盘组件原型+九宫格方形随机抽奖原型组件+运营活动抽奖转盘
Axure移动端app抽奖转盘+电商圆盘抽奖+商品抽奖+年会抽奖+抽奖动态+Axure通用抽奖转盘组件原型+九宫格方形随机抽奖原型组件+运营活动抽奖转盘 原型演示及下载地址:https://www.p ...
- python 抽奖库_用 python 写一个年会抽奖小程序
使用 pyinstaller 打包工具常用参数指南 pyinstaller -F demo.py 参数 含义 -F 指定打包后只生成一个exe格式的文件 -D –onedir 创建一个目录,包含exe ...
- 别找了,这就是你想要的年会抽奖开源项目
hanshan-lottery 特点 简单纯洁 浓浓中国风 打开直接运行,暂时没有那么多花里胡哨的前端工程配置 运行 $ git clone https://github.com/hanxiansen ...
最新文章
- 【NIO】阻塞与非阻塞
- Objective-C中对Url的参数进行编码
- 【python基础】——数据类型(列表、字典、集合)
- 【QGIS入门实战精品教程】4.4:QGIS如何将点自动连成线、线生成多边形?
- word域变成正常文本_【Word小技巧】不学会后悔哦~
- 3.CM3内核架构-寄存器
- HTTPS 工作原理
- unc 隐藏共享文件夹_你真的了解任务栏吗?win10任务栏居然隐藏了这么多小窍门...
- android 按钮顶级效果_Android 源码之button高亮效果
- php字节怎么转化成字符串,php将utf-8(3字节)字符串转换成字节
- cacti安装和配置 技术交流群:146510248
- 常用的方法论-PDCA
- 快速切换Mac系统设置One Switch
- 华为核心合作伙伴极力推荐的开源ERP使用教程:Odoo库存管理应用
- ssh密码长度漏洞java_CVE-2016-2183,CNNVD-201608-448|DES和Triple DES密码算法信息泄露漏洞 - 信息安全漏洞门户 VULHUB...
- John the Ripper破解密码
- 如何通过域名查询IP地址
- 您的自动化测试糟透了
- 注册时添加学号Idnumber
- python 32bit? 64bit?