欢迎来到“只读课堂”!

In [1]:

#这节课我们来用几个小案例练手:

In [2]:

# 1.扑克牌洗牌

# 2.彩票随机号码生成

开始打代码

“彩票”

In [3]:

#先引入一个随机数

In [4]:

import random

In [5]:

a = random.randint(1,10)

In [6]:

print(a)

4

In [7]:

print(a)

4

In [8]:

"""

案例:随机数 彩票号码

"""

Out[8]:

'\n案例:随机数 彩票号码\n'

In [9]:

#彩票大概是这样的: 35选5,12选2

In [10]:

#就用“大乐透”作变量名吧

In [18]:

daletou_qian = [i for i in range(1,36)]

In [12]:

#这样就表示产生1-35这样的一个数字

In [13]:

print(daletou_qianzhi)

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]

In [14]:

#来个后置

In [15]:

daletou_hou = [i for i in range(1,13)]

In [16]:

#从一个列表中随机选几个数

In [19]:

daletou_qian_random = random.sample(daletou_qian, k=5)

In [20]:

# k是说选几个

In [21]:

daletou_hou_random = random.sample(daletou_hou, k=2)

In [22]:

print(daletou_qian_random,daletou_hou_random)

[17, 1, 7, 22, 5] [12, 6]

In [23]:

#拼接在一起

In [24]:

print(daletou_qian_random+daletou_hou_random)

[17, 1, 7, 22, 5, 12, 6]

In [25]:

#顺序可以随便变换的。

扑克牌洗牌

In [26]:

poker_num = [str(i) for i in range(2,11)]

In [27]:

print(poker_num)

['2', '3', '4', '5', '6', '7', '8', '9', '10']

In [28]:

#扑克还要有花色是不是?

In [29]:

poker_color = ["红","黑","方","花"]

In [30]:

#除了数字牌,还要字符牌

In [31]:

poker_str = ["A","J","Q","K"]

In [32]:

#那么再复杂点儿,还要大小王吧

In [33]:

poker_king = ["大王","小王"]

In [34]:

#现在我们把它们拼接在一起,生成一副牌

In [35]:

pokers = ["%s%s" %(i,j) for i in poker_color for j in poker_num+poker_str] +poker_king

In [36]:

print(pokers)

['红2', '红3', '红4', '红5', '红6', '红7', '红8', '红9', '红10', '红A', '红J', '红Q', '红K', '黑2', '黑3', '黑4', '黑5', '黑6', '黑7', '黑8', '黑9', '黑10', '黑A', '黑J', '黑Q', '黑K', '方2', '方3', '方4', '方5', '方6', '方7', '方8', '方9', '方10', '方A', '方J', '方Q', '方K', '花2', '花3', '花4', '花5', '花6', '花7', '花8', '花9', '花10', '花A', '花J', '花Q', '花K', '大王', '小王']

In [37]:

#这样就生成了54张牌

In [38]:

#如果不信,我们来判断一下它的长度

In [39]:

print(len(pokers))

54

In [40]:

#现在我们要来洗牌

随机洗牌

In [41]:

random.shuffle(pokers)

In [42]:

print(pokers)

['花8', '方3', '花6', '方K', '方2', '方A', '黑3', '红6', '红3', '方4', '黑2', '红Q', '花5', '红9', '红7', '方5', '黑Q', '红K', '黑A', '黑6', '黑8', '花Q', '花A', '小王', '花J', '花4', '黑7', '方9', '方8', '黑4', '大王', '红4', '黑5', '方10', '方6', '花K', '方Q', '红10', '黑9', '红2', '黑J', '红A', '花2', '红5', '黑K', '红8', '花10', '花9', '方7', '花3', '花7', '黑10', '红J', '方J']

In [43]:

#这样就把之前生成的牌打乱了

斗地主(发牌 17张 20张)

In [44]:

#这就要用到列表切片

In [45]:

person_a = pokers[0:51:3]

In [46]:

#这是第一个人↑

In [47]:

person_b = pokers[1:51:3]

In [48]:

#这是第二个人↑

In [49]:

person_c = pokers[2:51:3]

In [50]:

#这是第三个人↑

In [51]:

last_3 = pokers[-3:]

In [52]:

#这是最后三张牌,“:”后面不指定数字就是1

In [53]:

#下面,我们来看看这三个人的牌:

In [54]:

print("person_a:",person_a)

person_a: ['花8', '方K', '黑3', '方4', '花5', '方5', '黑A', '花Q', '花J', '方9', '大王', '方10', '方Q', '红2', '花2', '红8', '方7']

In [55]:

print("person_b:",person_b)

person_b: ['方3', '方2', '红6', '黑2', '红9', '黑Q', '黑6', '花A', '花4', '方8', '红4', '方6', '红10', '黑J', '红5', '花10', '花3']

In [56]:

print("person_c:",person_c)

person_c: ['花6', '方A', '红3', '红Q', '红7', '红K', '黑8', '小王', '黑7', '黑4', '黑5', '花K', '黑9', '红A', '黑K', '花9', '花7']

In [57]:

#这样就能完成一个简单洗牌的程序。

本次只读课堂的python教程就到这了,欢迎下一次的收看!

原文链接:https://blog.csdn.net/jeasonlan/article/details/108927440

python小课堂25_Python入门第25课——小案例之随机数(只读课堂)相关推荐

  1. python符号运算_入门第五课 Python运算符号

    准确地讲,应该叫"运算符",运算符号是我为了方便大家理解起的名字. 在数学中,我们有很多熟悉常用的运算符号:加号+.减号-.乘号(Python中的乘号是*).除号(Python的除 ...

  2. Python入门第3课——变量类型(只读课堂)

    In [1]: #欢迎来到"只读课堂"! ...: #今天呢,我来讲点儿深入的知识:变量 ...: ...: #变量类型: ...: #1.字符串 str ...: #2.数字 i ...

  3. python海龟图画龙珠_阿里云天池龙珠计划——Python基础入门第2课:变量和赋值...

    阿里云天池龙珠计划--Python基础入门第2课:变量和赋值 [我是测试题2]下面这段代码的运行结果是什么? # 运行一下结果就出来了 a = "hello" b = " ...

  4. 打开程序时固定位置_新手入门第五课:免费开源图像处理程序GIMP之矩形选择工具...

    GIMP是一款图像处理软件,是跟Photoshop同一类型的软件,为了方便介绍,后面每篇相关GIMP图像处理软件的介绍文章的开头,我都将插入一段文字,用于介绍GIMP是什么,让不熟悉的朋友知道这是干什 ...

  5. java包名和类名可以一样吗_Java入门第三课:Java基本语法

    Java基础 编写Java程序时,应注意以下几点: 1.大小写敏感: Java是大小写敏感的,这就意味着标识符Hello与hello是不同的.有些操作系统不区分大小写,不区分的话,文件名是不完全正确的 ...

  6. for循环语句例题及解析python_Python入门第8课,for语句综合练习,突破循环累加难点...

    6月2日大陈上了Python入门第7课,从学生上交的练习题来看,第2题和第5题错误最多. 第2题:阅读程序写结果 for i in range(6): print("*") 有一部 ...

  7. 以二进制输出64位类型的数据_Java入门第五课:Java基本数据类型与变量的声明...

    数据类型 基本数据类型 Java有八种基本类型.六种数字类型(四个整数型(默认是int 型),两个浮点型(默认是double 型)),一种字符类型,一种布尔型. Byte.short.int.long ...

  8. c# 编程入门第六课常量,枚举,枚举转换成其他类型变量(枚举和int,转 string字符串转枚举),结构体,数组,冒泡排序,实际使用排序,方法(函数)

    c# 编程入门第六课 文章目录 c# 编程入门第六课 1. 常量 2. 枚举 3. 枚举转换成其他类型变量 3.1 枚举和int 3.2 转string 3.2 字符串转枚举 4.结构体 5.数组 7 ...

  9. Android零基础入门第25节:最简单最常用的LinearLayout线性布局

    原文:Android零基础入门第25节:最简单最常用的LinearLayout线性布局 良好的布局设计对于UI界面至关重要,在前面也简单介绍过,目前Android中的布局主要有6种,创建的布局文件默认 ...

最新文章

  1. 【DM8168学习笔记5】EZSDK目录结构
  2. SAE帮助「海底小纵队学英语」全面拥抱Serverless
  3. 程序员学历要求越来越高,薪酬天花板犹如发际线,原因很简单!
  4. 恩墨年货送到家-2018,寻梦一起出发
  5. C++开源矩阵计算工具——Eigen的简单用法(二)
  6. java排序方法调用_Java实现顺序查找、二分查找、冒泡排序、方法调用
  7. redux异步action_【第1586期】基于Redux/Vuex/MobX等库的通用化状态OOP
  8. 如何在Exchange 2013中禁用对ECP的外部访问
  9. 【SRM-07 D】天才麻将少女KPM
  10. c# mvc ajax 提交与 接收参数
  11. 20200521每日一句
  12. 做多应用层,做多WEB3华人创业者
  13. 不同时区时间换算_不同时区时间转换
  14. 计算机自动关机启机唤醒设置,电脑设置自动关机和自动开机
  15. 【Debug】matlab中APP Designer,legend图例线条颜色一样
  16. 传统行业如何在互联网时代转型
  17. oldwain随便写
  18. 用计算机核裂变模拟实验,SAS和蒙特卡罗模拟(1):开篇
  19. android地图入门,android 百度地图入门01 (史上最详没有之一)
  20. JAVA中获得一个有中文的字符串的字节长度

热门文章

  1. 多个电商平台聚合关键字搜索接口
  2. 实现选择器多选依次下发
  3. c语言编程简易计算器代码,可编程简易计算器(代码)
  4. python import turtle as t_Python turtle库的学习笔记
  5. 标题:信号、传输介质、数制转换
  6. 启动项目报错404 Not Found nginx/1.21.5-2022-6-8
  7. HTML(表单标签<form>)
  8. 给我两小时,我能写很长长长长长长的APP测试用例!
  9. 网络推广100法,果然很强悍。
  10. 点击邮件自动弹出发送邮件窗口