• python 练习洗牌


    生成随机数需要引入random模块,学习下random模块中常用的几个函数:

    random.random() 用于生成一个0到1的随机符点数: 0 <= n < 1.0

    random.uniform 函数原型为:random.uniform(a, b),用于生成一个指定范围内的随机符点数,两个参数其中一个是上限,一个是下限。

    random.randint() 函数原型为:random.randint(a, b),用于生成一个指定范围内的整数。其中参数a是下限,参数b是上限,生成的随机数n: a <= n <= b

    random.randrange函数原型为:random.randrange([start], stop[, step]),从指定范围内,按指定基数递增的集合中 获取一个随机数。如:random.randrange(10, 100, 2),结果相当于从[10, 12, 14, 16, ... 96, 98]序列中获取一个随机数。random.randrange(10, 100, 2)在结果上与 random.choice(range(10, 100, 2) 等效。

    random.choice 从序列中获取一个随机元素。其函数原型为:random.choice(sequence)。参数sequence表示一个有序类型。这里要说明 一下:sequence在python不是一种特定的类型,而是泛指一系列的类型。list, tuple, 字符串都属于sequence。

    random.shuffle 函数原型为:random.shuffle(x[, random]),用于将一个列表中的元素打乱。

    random.sample 函数原型为:random.sample(sequence, k),从指定序列中随机获取指定长度的片断。sample函数不会修改原有序列。

    扑克牌:

    #coding=utf-8
    import random
    
    poker_num = [str(i) for i in range(2,11)] #数字牌
    poker_str = ['A','J','Q','K']  #字母牌
    poker_king = ['大王','小王'] #大小王
    poker_color = ['红','黑','方','花'] #花色
    
    pokers = ['%s%s'%(i,j) for i in poker_color for j in poker_num+poker_str] + poker_king #生成54张牌
    print(len(pokers))
    
    random.shuffle(pokers) #随机洗牌
    #print(pokers)
    
    poker_a = pokers[0:51:3] #斗地主玩法
    poker_b = pokers[1:51:3]
    poker_c = pokers[2:51:3]
    last_3 = pokers[-3:]
    print('A:',poker_a)
    print('B:',poker_b)
    print('C:',poker_c)
    print('最后三张:',last_3)
    

      

    大乐透:

    “35选5加12选2”玩法属于双区选号大乐透,玩法简单易懂,彩民们在购买“35选5加12选2”时,可以从01-35共35个号码中,选取5个号码为前区号码,并从01-12共12个号码中选取2个号码为后区号码,组合为一注进行单式投注

    如:

    1 daletou_qian = [i for i in range(1,36)] #前区 01-35共35个号码可选择
    2 daletou_hou = [i for i in range(1,13)]  #后区 01-12共12个号码可选择
    3 daletou_qian_random = random.sample(daletou_qian,k=5)#随机选取5个前区号码
    4 daletou_hou_random = random.sample(daletou_hou,k=2)  #随机选取2个后区号码
    5 print(daletou_qian_random+daletou_hou_random) #前区随机5个,后区随机2个,组合为一注进行单式投注
  • 相关阅读:
    爬虫笔记(四)------关于BeautifulSoup4解析器与编码
    sublime_text_2 ubuntu下无法输入中文 解决方法
    PHP 随手记
    PHP与apache环境配置
    5分钟学会如何创建spring boot项目
    Java 解压zip压缩包
    利用JavaScript来实现用动态检验密码强度
    金融行业是如何丢失1分钱的
    Java多线程的三种实现方式
    教你如何快速定制 SpringBoot banner
  • 原文地址:https://www.cnblogs.com/feiyueNotes/p/8319198.html
Copyright © 2020-2023  润新知