目录

  • 一、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()  # 小循环不换行,大循环换行

四、京牌摇号小程序

需求:

  1. 允许⽤户最多选3次
  2. 每次放出20个⻋牌供⽤户选择
  3. 京[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}次机会。")

五、年会抽奖程序


解题思路:

  1. ⽣成⼀个员⼯列表,⽤random模块从⾥⾯取随机值
  2. 取完值之后,⽴刻从员⼯⼤列表⾥把中奖⼈删掉,即可防⽌其再次中奖
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年会抽奖游戏相关推荐

  1. 苹果手机html5摇一摇游戏戏码,利用HTML5的devicemotion事件实现手机摇一摇抽奖,年会抽奖,html5devicemotion...

    利用HTML5的devicemotion事件实现手机摇一摇抽奖,年会抽奖,html5devicemotion 摇一摇JS脚本逻辑: 接下来是移动端JS脚本逻辑的实现,摇一摇的实现需借助html5新增的 ...

  2. 使用 SQL 语句实现一个年会抽奖程序

    作者 | 董旭阳  责编 | 张文 头图 | CSDN 下载自视觉中国 出品 | CSDN(ID:CSDNnews) 年关将近,抽奖想必是大家在公司年会上最期待的活动了.如果老板让你做一个年会抽奖的程 ...

  3. python抽奖游戏_python实现转盘效果 python实现轮盘抽奖游戏

    本文实例为大家分享了python实现转盘效果的具体代码,供大家参考,具体内容如下 #抽奖 面向对象版本 import tkinter import time import threading clas ...

  4. 年会抽奖程序准备好了吗?没有的话,直接来取!

    大家好,我是TJ 关注TJ君,回复"武功秘籍"免费获取计算机宝典书籍 到年底了是不是要开年会了? 年会上大家最期待的项目是什么? 相信不少小伙伴最最期待的肯定是抽奖啦~ 不过抽奖呢 ...

  5. 小程序组件库开发之抽奖游戏组件

    笔者在之前写了一篇关于小程序抽奖游戏组件的文章,当时的设计比较粗糙,组件的可复用性也不是很好,这里笔者新开发了一个抽奖小游戏组件,表现形式上和可复用性上都相对之前有了不小的提升. 读者朋友可以先看一下 ...

  6. Python使用numpy和pandas模拟转盘抽奖游戏

    之前写过一个类似的代码,不过都是用的Python内置对象,详见几行Python代码模拟轮盘抽奖游戏,本文再提供一个使用numpy和pandas实现的代码. 问题描述:有时候饭店或商场会搞活动,门口一个 ...

  7. Python——模拟轮盘抽奖游戏

    题目要求: 模拟轮盘抽奖游戏 轮盘分为三部分: 一等奖, 二等奖和三等奖; 轮盘转的时候是随机的, 如果范围在[0,0.08)之间,代表一等奖, 如果范围在[0.08,0.3)之间,代表2等奖, 如果 ...

  8. Axure移动端app抽奖转盘+电商圆盘抽奖+商品抽奖+年会抽奖+抽奖动态+Axure通用抽奖转盘组件原型+九宫格方形随机抽奖原型组件+运营活动抽奖转盘

    Axure移动端app抽奖转盘+电商圆盘抽奖+商品抽奖+年会抽奖+抽奖动态+Axure通用抽奖转盘组件原型+九宫格方形随机抽奖原型组件+运营活动抽奖转盘 原型演示及下载地址:https://www.p ...

  9. python 抽奖库_用 python 写一个年会抽奖小程序

    使用 pyinstaller 打包工具常用参数指南 pyinstaller -F demo.py 参数 含义 -F 指定打包后只生成一个exe格式的文件 -D –onedir 创建一个目录,包含exe ...

  10. 别找了,这就是你想要的年会抽奖开源项目

    hanshan-lottery 特点 简单纯洁 浓浓中国风 打开直接运行,暂时没有那么多花里胡哨的前端工程配置 运行 $ git clone https://github.com/hanxiansen ...

最新文章

  1. 【NIO】阻塞与非阻塞
  2. Objective-C中对Url的参数进行编码
  3. 【python基础】——数据类型(列表、字典、集合)
  4. 【QGIS入门实战精品教程】4.4:QGIS如何将点自动连成线、线生成多边形?
  5. word域变成正常文本_【Word小技巧】不学会后悔哦~
  6. 3.CM3内核架构-寄存器
  7. HTTPS 工作原理
  8. unc 隐藏共享文件夹_你真的了解任务栏吗?win10任务栏居然隐藏了这么多小窍门...
  9. android 按钮顶级效果_Android 源码之button高亮效果
  10. php字节怎么转化成字符串,php将utf-8(3字节)字符串转换成字节
  11. cacti安装和配置 技术交流群:146510248
  12. 常用的方法论-PDCA
  13. 快速切换Mac系统设置One Switch
  14. 华为核心合作伙伴极力推荐的开源ERP使用教程:Odoo库存管理应用
  15. ssh密码长度漏洞java_CVE-2016-2183,CNNVD-201608-448|DES和Triple DES密码算法信息泄露漏洞 - 信息安全漏洞门户 VULHUB...
  16. John the Ripper破解密码
  17. 如何通过域名查询IP地址
  18. 您的自动化测试糟透了
  19. 注册时添加学号Idnumber
  20. python 32bit? 64bit?

热门文章

  1. mysql清数据库并导入_mysql 数据库导入数据
  2. 远距离485无线传输方案
  3. 大数据开发比赛echarts所有要学习的主要图表 简单化 得分点
  4. Data Driven Modeling 课程
  5. Java家庭收支记账软件开发
  6. 【AI创新者】图森未来CTO侯晓迪:定义问题比解决问题更重要
  7. 安卓Glide加载图片
  8. 接入Internet的技术有哪几种?各有什么特点?
  9. 5个免费可商用的图片素材网站,赶快收藏
  10. 问题解决:虚拟机无法复制粘贴文件