一副扑克牌有54张,我们将里面的大王、小王抽出来现在还有52张牌。现在随机生成三个不重复的数,这三个数分别代表不同的花色以及牌的大小。其中1-13代表:黑桃A-K;14-26代表:红桃A-K;27-39代表:方片A-K;40-52代表:梅花A-K。

首先,我们看到了随机生成,那么现在我们需要用到随机数。首先的话是导入随机数模块random。

import random

我们知道,现在我们的扑克牌有52张,我们抽取的随机数是在这52个数之间所以我们现在建立一个空列表来储存我们的52个数,并且我们利用遍历的方法来实现给空列表添加元素。

list1=[]
for s in range(1,53)
    list1.append(s)

好的,现在我们有扑克牌的数量了,现在我们需要生成我们的三个随机数了。我们通过调用random中的sample生成有三个随机数的列表,并给他建立一个变量list3。

list3=random.sample(list1,3)

现在我们生成一个存储扑克牌花色的列表。

list4=["A","2","3","4","5","6","7","8","9","10","J","Q","k"]

我们现在可以通过生成的三个随机数,来输出我们三张牌所代表的花色以及大小。首先我们循环三次如果生成的随机数在1-13之间,那么它应该是黑桃我们发现黑桃的数值除14的商整为0,并且从A-K每个数值除以14都可以得到1-13的余数对应但是对应的下标应该是余数减1。

for i in range(0,3):
    if list3[i]//14==0:
        for j in range(0,14):
            if list3[i]%14==j:
                print("黑桃"+list4[j-1])

同样的对应红桃、方片、梅花我们只需要改变对应的商整,以及输出的对应花色。

elif list3[i]//14==1:
        for j in range(0,14):
            if list3[i]%14==j:
                print("红桃"+list4[j-1])
    elif list3[i] //14 == 2:
        for j in range(0, 14):
            if list3[i] % 14 == j:
                print("方片" + list4[j-1])
    elif list3[i] // 14 == 3:
        for j in range(0, 14):
            if list3[i] % 14 == j:
                print("梅花" + list4[j-1])

最后运行结果如下:

python随机生成三个三位数 python随机生成三位数_python

完整代码:

import random #导入随机数库
list1=[] #建立一个列表来储存我们将用到的52张牌对应的值
for s in range(1,53):#利用for循环遍历1到52
    list1.append(s)#将遍历后的值添加在list1中
list3=random.sample(list1,3)#通过提取list1生成三个不相同的值生成列表存在list3中
print(list3)
list4=["A","2","3","4","5","6","7","8","9","10","J","Q","k"]#建立一个列表用来判断牌的数值大小
for i in range(0,3):#循环三次来判断三个数所属的花色
    if list3[i]//14==0:#因为1-13是属于黑桃且它们处于14的整商是0
        for j in range(0,14):#通过遍历来判断3个数
            if list3[i]%14==j:#余数从0到13分别代表不同的值
                print("黑桃"+list4[j-1])#根据整数与余数输出他的花色以及数值
    elif list3[i]//14==1:
        for j in range(0,14):
            if list3[i]%14==j:
                print("红桃"+list4[j-1])
    elif list3[i] //14 == 2:
        for j in range(0, 14):
            if list3[i] % 14 == j:
                print("方片" + list4[j-1])
    elif list3[i] // 14 == 3:
        for j in range(0, 14):
            if list3[i] % 14 == j:
                print("梅花" + list4[j-1])