这个是一位隐秘人物让我做的一道题(如标题),我也分享出来了。

首先是成品展示(暂时没有做成可视化界面的样子):

我做的是把所有的气球录入进来,然后利用基础数据结构(字典,数据等)排序等,由于我是初学,也只是做成这样;但是基本功能实现了。

代码如下:

# 第一步将气球按颜色分组,汇总
#第二部,遍历每一个字典的KEY取一个值,也就是将VALUE减一。
# 直到只剩下一个key的值大于0时,判断这个剩下的的key中的值是否大于1,如果大于抛出异常
dict={}
str='退出'
def aaa(a,dict):
color=a
count=1
#判断是否之前记录过这个颜色,如果记录过加一,没有记录过初始化为1
if dict.get(a,-1)==-1:
dict[a]=count
else:
dict[a]=dict[a]+1
def bbb(dict,listKey):
for x in listKey:
listLen = list(dict)
print(listLen)
print(listLen.__len__())
if (listLen.__len__() == 1):
break
dict[x]=dict[x]-1
if(dict[x]==0):
dict.pop(x)
listKey.remove(x)
while True:
a=input("请输入气球颜色:")
if a==str:
print(dict)
break
aaa(a, dict)
#由于字典key为不可变,所以拿出来放入list来遍历
listKey=list(dict)
while True:
print(dict)
print(listKey)
if listKey.__len__()==1:
break
bbb(dict,listKey)
#有两种方法:(一)可以通过print直接告知实现不了,并返回解决方法
#(二)利用下标越界,抛出异常
#这个也可以抽成一个方法
for x in dict.keys():
if dict.get(x)>1:
b=dict.get(x)-1
print(b)
#第一种这里可以告知,也可以通过下标越界来获取异常比如:获取第二个key时报异常
print("不能实现该种情况,多了%s的气球%d个"%(x,b))
#第二种
finaList=list(dict)
print(dict)
print(finaList)
try:
finaList.get(1)
except:
print("不能实现该种情况")

python实现不同颜色气球隔开摆放,并且提示不能摆放的情况的更多相关文章

  1. 安装python的pywin32安装不了,提示找不到py3.6-32

    安装python的pywin32安装不了,提示找不到py3.6-32 首先我自己的py3.6是64位版本的,这是pywin32模块的下载地址 里面有各种版本的,首先我先下了64位的3.6版本的,结果提 ...

  2. 在使用python语言的open函数时,提示错误OSError: [Errno 22] Invalid argument: ‘文件路径’

    如题,在使用python语言的open函数时,提示错误OSError: [Errno 22] Invalid argument: '文件路径',在查阅了大量资料后也得到了一些解决方案,但是这些解决方案 ...

  3. Matlab 读取excel文件提示服务器出现意外情况或无法读取问题解决

    1.问题描述: 该错误通常发生在应用函数读取excel文件(后缀xls或xlsx)时. 应用xlsread函数读取提示服务器出现意外情况: 应用importdata读取时提示can‘t open fi ...

  4. 关于RDS备份文件使用wget下载提示403 Forbidden的情况

    关于RDS备份文件使用wget下载提示403 Forbidden的情况 使用wget下载提示403错误当我们RDS物理备份文件时,例如: 原因: URL中包含有特殊字符比如&,从而造成URL被 ...

  5. Python入门(一):PTVS写Python程序,调试模式下input()提示文字乱码问题

    前两天写了Python入门(一),里面提到,使用VS2013+PTVS进行Python开发. 就在准备为第二篇写个demo的时候,发现了一个问题,各种解决无果,有些纠结 Python中输入函数是inp ...

  6. Python安装wxPython和ubuntu使用apt提示不能更新

    [空两格]昨天憨批室友搁我面前装b,说他会用pip安装Python包了,说是安装wxPython的时候通过换源解决了之前安装出错的问题.我一听,这事不对劲啊,是这个b直接看不懂输出了吧.果然,我让他在 ...

  7. python中执行py文件出错(提示File “<stdin>”,line 1,SyntaxError:invalid syntax)

    解决办法: 上图中已通过输入python进入了python运行环境,出现>>>时候的不能再用python z.py 来运行hello.py文件: 应该通过exit()退出当前pyth ...

  8. cx_Oracle库导入失败引起crontab中python程序运行失败,并且无错误提示

    今天遇到一个问题: 一个python脚本命令行运行时很正常,放到crontab中就无法工作,日志也没有记录,找了半天,终于发现问题所在. 在脚本最上方,程序如下: #!/usr/local/bin p ...

  9. Python中使用pip安装库时提示:远程主机强迫关闭了一个现有的连接

    场景 在cmd中使用pip install moviepy时,需要安装一些依赖库,很长时间后提示: 远程主机中断了一个现有的连接. 原因是默认镜像源下载过慢,将其修改为国内或者设置安装时的源. 这里以 ...

  10. python appium使用uiselector定位时,提示 Could not parse UiSelector argument: 'XXX' is not a string

    运行自动化代码,appium返回Could not parse UiSelector argument: 'XXX' is not a string,其中的xxx就是定位的元素 解决方案:外侧用 '' ...

随机推荐

  1. 聊聊CWE 4.14 与 ISA/IEC 62443中,如何保障工业软件的安全性

    本文分享自华为云社区<CWE 4.14 与 ISA/IEC 62443>,作者:Uncle_Tom. 1. 序言 随着 5G 的应用,物联的网发展,越来越多的自动化控制系统.云服务在工业控 ...

  2. 基于泰凌微TLSR8355的无线灯光智能控制系统解决方案调试总结

    前记  随着新技术的不断发展,在灯控市场.使用无线和传感器技术让灯的利用变得更加环保和智能是一个相对时尚的选择.最近跟几个客户做了一些此类的产品.发掘了一些有趣的功能和应用.这里做一个梳理. 特色梳理 ...

  3. Grails的数据库相关开发

    1.开发domain和service 在出来的输入框里输入domain的名字,可以包括包名. 这里我输入test.domain.House,点finish 创建了两个groovy文件,一个当然是tes ...

  4. WebView开源库终极方案

    目录介绍 01.前沿说明 1.1 案例展示效果 1.2 该库功能和优势 1.3 相关类介绍说明 1.4 WebView知识点 02.如何使用 2.1 如何引入 2.2 最简单使用 2.3 常用api ...

  5. 探讨三维模型OBJ格式轻量化在三维展示效果上的重要性

    探讨三维模型OBJ格式轻量化在三维展示效果上的重要性 三维模型的OBJ格式轻量化在三维展示效果方面具有重要性.以下是对三维模型OBJ格式轻量化在三维展示效果上的重要性进行分析: 1.提高渲染性能:原始 ...

  6. 解决maven编译错误:程序包com.sun.xml.internal.ws.spi不存在

    转自https://blog.csdn.net/mn960mn/article/details/51253038 解决方法如下: 添加maven-compiler-plugin插件,并且配置compi ...

  7. PS-AXI-PL流水灯设计(2)

    PS-AXI-PL流水灯设计(2) 1.实验原理 承接上一次的实验,这里对AXI的总线结构做出分析,将AXI的理论具体对应到设计上去.为后面自己设计AXI的发送和接受器做好准备. 2.实验操作 (1) ...

  8. KingbaseES V8R6集群运维案例之---sys_backup.sh init ‘xxxx invalid’故障

    KingbaseES V8R6集群运维案例之---sys_backup.sh init 'xxxx invalid'故障 案例说明 在KingbaseES V8R6集群sys_backup.sh在cl ...

  9. KingbaseES V8R3 集群运维案例--sys_rewind恢复备库节点

    ​ 案例说明: 在KingbaseES V8R3集群执行failover切换后,原主库被人为误(未配置recovery.conf)启动:或者人为promote备库为主库后.需要将操作节点再重新加入集群 ...

  10. python打包Windows.exe程序(pyinstaller)

    python打包Windows.exe程序(pyinstaller) 基础命令 pip install pyinstaller 使用pip命令来安装pyinstaller模块. -F: pyinsta ...