鱼C论坛

 找回密码
 立即注册
查看: 1161|回复: 0

【Pyhon 009讲心得体会】【关于摸球的进阶程序——列出摸多球的所有可能的集合】

[复制链接]
发表于 2020-4-1 02:38:49 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
【效果】
========================= RESTART: F:\python学习\摸球问题.py =========================
请输入有几种颜色的球
4
请输入第1种颜色的球:
小甲鱼
请输入小甲鱼球的个数:
4
请输入第2种颜色的球:
小鱿鱼
请输入小鱿鱼球的个数:
3
请输入第3种颜色的球:
小泥鳅
请输入小泥鳅球的个数:
8
请输入第4种颜色的球:
小蚂蚁
请输入小蚂蚁球的个数:
7
你输入的结果如下:
小甲鱼球有4个
小鱿鱼球有3个
小泥鳅球有8个
小蚂蚁球有7个
请输入你需要摸球的个数:
5
小甲鱼球 小鱿鱼球 小泥鳅球 小蚂蚁球 颜色搭配个数分别为:
[['小甲鱼球', 4], ['小鱿鱼球', 1], ['小泥鳅球', 0], ['小蚂蚁球', 0]]
[['小甲鱼球', 3], ['小鱿鱼球', 2], ['小泥鳅球', 0], ['小蚂蚁球', 0]]
[['小甲鱼球', 2], ['小鱿鱼球', 3], ['小泥鳅球', 0], ['小蚂蚁球', 0]]
[['小甲鱼球', 2], ['小鱿鱼球', 3], ['小泥鳅球', 0], ['小蚂蚁球', 0]]
[['小甲鱼球', 1], ['小鱿鱼球', 3], ['小泥鳅球', 1], ['小蚂蚁球', 0]]
[['小甲鱼球', 0], ['小鱿鱼球', 3], ['小泥鳅球', 2], ['小蚂蚁球', 0]]
[['小甲鱼球', 3], ['小鱿鱼球', 0], ['小泥鳅球', 2], ['小蚂蚁球', 0]]
[['小甲鱼球', 0], ['小鱿鱼球', 2], ['小泥鳅球', 3], ['小蚂蚁球', 0]]
[['小甲鱼球', 2], ['小鱿鱼球', 0], ['小泥鳅球', 3], ['小蚂蚁球', 0]]
[['小甲鱼球', 0], ['小鱿鱼球', 1], ['小泥鳅球', 4], ['小蚂蚁球', 0]]
[['小甲鱼球', 1], ['小鱿鱼球', 0], ['小泥鳅球', 4], ['小蚂蚁球', 0]]
[['小甲鱼球', 0], ['小鱿鱼球', 0], ['小泥鳅球', 5], ['小蚂蚁球', 0]]
[['小甲鱼球', 0], ['小鱿鱼球', 0], ['小泥鳅球', 5], ['小蚂蚁球', 0]]
[['小甲鱼球', 0], ['小鱿鱼球', 0], ['小泥鳅球', 5], ['小蚂蚁球', 0]]
[['小甲鱼球', 2], ['小鱿鱼球', 3], ['小泥鳅球', 0], ['小蚂蚁球', 0]]
[['小甲鱼球', 0], ['小鱿鱼球', 3], ['小泥鳅球', 1], ['小蚂蚁球', 1]]
[['小甲鱼球', 1], ['小鱿鱼球', 3], ['小泥鳅球', 0], ['小蚂蚁球', 1]]
[['小甲鱼球', 0], ['小鱿鱼球', 3], ['小泥鳅球', 0], ['小蚂蚁球', 2]]
[['小甲鱼球', 0], ['小鱿鱼球', 3], ['小泥鳅球', 0], ['小蚂蚁球', 2]]
[['小甲鱼球', 3], ['小鱿鱼球', 0], ['小泥鳅球', 0], ['小蚂蚁球', 2]]
[['小甲鱼球', 0], ['小鱿鱼球', 0], ['小泥鳅球', 2], ['小蚂蚁球', 3]]
[['小甲鱼球', 0], ['小鱿鱼球', 2], ['小泥鳅球', 0], ['小蚂蚁球', 3]]
[['小甲鱼球', 2], ['小鱿鱼球', 0], ['小泥鳅球', 0], ['小蚂蚁球', 3]]
[['小甲鱼球', 0], ['小鱿鱼球', 0], ['小泥鳅球', 1], ['小蚂蚁球', 4]]
[['小甲鱼球', 0], ['小鱿鱼球', 1], ['小泥鳅球', 0], ['小蚂蚁球', 4]]
[['小甲鱼球', 1], ['小鱿鱼球', 0], ['小泥鳅球', 0], ['小蚂蚁球', 4]]
[['小甲鱼球', 0], ['小鱿鱼球', 0], ['小泥鳅球', 0], ['小蚂蚁球', 5]]
[['小甲鱼球', 0], ['小鱿鱼球', 0], ['小泥鳅球', 0], ['小蚂蚁球', 5]]
[['小甲鱼球', 0], ['小鱿鱼球', 0], ['小泥鳅球', 0], ['小蚂蚁球', 5]]
一共有 29 种摸球可能
>>>
【源代码如下】
#综合近期学习,将摸球程序,扩展为列出摸多球的所有可能的集合(加个头,即可变为函数)
print('请输入有几种颜色的球')
Sort=int(input())  #int整型很重要,否则输入的是一个字符串格式,比较大小就会出错
sortname =list()
sortnum = list()
numname=list()
Num = 0
countnum=0
for i in range(Sort):
        print('请输入第',(i+1),'种颜色的球:',sep ='')
        sortname.append([input(),0])
        print('请输入',sortname[i][0],'球的个数:',sep ='')
        sortname[i][1]=int(input())

print('你输入的结果如下:')
for i in range(Sort):
        print(sortname[i][0],'球有',sortname[i][1],'个',sep ='')
print('请输入你需要摸球的个数:')
num=int(input())

for i in range(Sort):
        print(sortname[i][0]+'球',sep =' ',end = ' ')
        numname.append(int(sortname[i][1]))
        numname[i] = (num+1) if(numname[i] >= num) else (numname[i]+1)
        sortnum.append([sortname[i][0]+'球',0])
        
print('颜色搭配个数分别为:') 
for i in range(Sort): #i为种类循环
    for j in range(numname[i]):  #sortnum[i]为种类拿球循环
        p=i
        sortnum[p][1] = j
        if p == 0:
            temp = Sort
            for temp in range(Sort):Num = Num + sortnum[temp][1]
            if Num == num:
                print(sortnum)
                countnum += 1
            Num = 0
        else:                
            while (p):
                for k in range(numname[p-1]):
                    sortnum[p-1][1] = k
                    temp = Sort
                    for temp in range(Sort):Num = Num + sortnum[temp][1]
                    if Num == num:
                        print(sortnum)
                        countnum += 1
                        Num = 0
                        sortnum[p-1][1] = 0
                        break
                    Num = 0
                p=p-1
    sortnum[i][1]=0
print('一共有',countnum,'种摸球可能')

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-12 00:45

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表