python笔记-用python解决小学生数学题【转载】
本篇转自博客:上海-悠悠
原文地址:http://www.cnblogs.com/yoyoketang/tag/python/
前几天有人在群里给小编出了个数学题:
假设你有无限数量的邮票,面值分别为6角,7角,8角,请问你最大的不可支付邮资是多少元?
小编掰着手指头和脚趾头算了下,答案是:1.7元
那么问题来了?为啥是1.7呢,于是小编用python解决了这个小学数学题。
一、排列组合
假设6、7、8角各有50张(50张够了),先计算出所有的可能组合

二、排序、去重
先对组合就行排序,从小到大的顺序,排队站好,这里用到sort()函数(要是你用冒泡排序,那你就out啦!)
sort函数只是对list序列排序,并没有返回值
排序完成后,接下来就是去掉重复的数据

三、取出不能生成的数字
不在上面组合里面的数字就是不能生成的数字了,于是我们可以先取出来。
取出来后的数据放到r队列里。
从r队列取最后一个数据,就是答案啦。

四、参考代码
# coding:utf-8
a = 6
b = 7
c = 8
t = 50 # 票的张数
s = [] # 排列组合全部放到这里
# 生成的组合
for i in range(t+1):
s1 = a*i
s.append(s1)
for j in range(t+1):
s2 = a*i+b*j
s.append(s2)
for k in range(t+1):
s3 = a*i + b*j + c*k
s.append(s3)
# 排序
s.sort()
# 去掉重复
news = []
for i in s:
if i not in news:
news.append(i)
print("组合生成的最大数%s"%news[-1])
# 提取不在列表列表中的数字
r = []
for i in range(6*t):
if i in news:
pass
else:
r.append(i)
print("组合不能生成的数字%s"%r)
print("不能生成的最大数字为%s"%r[-1])
python笔记-用python解决小学生数学题【转载】的更多相关文章
- 【Python笔记】Python语言基础
Python是一种解释性(没有编译).交互式.面向对象的语言 1.安装python编译器 版本:Python2.7比较普遍,Python不是向下兼容的软件,因此Python3.x有些东西不好找资料 2 ...
- 【Python笔记】Python 基础语法
Python 标识符 在 Python 里,标识符由字母.数字.下划线组成. 在 Python 中,所有标识符可以包括英文.数字以及下划线(_),但不能以数字开头. Python 中的标识符是区分大小 ...
- python笔记1-用python解决小学生数学题
前几天有人在群里给小编出了个数学题: 假设你有无限数量的邮票,面值分别为6角,7角,8角,请问你最大的不可支付邮资是多少元? 小编掰着手指头和脚趾头算了下,答案是:1.7元 那么问题来了?为啥是1.7 ...
- 【python笔记】python中的list、tuple、set、dict用法简析
list list是一种有序的集合(或称作列表),可以很方便地添加和删除其中的元素. >>> classmates = ['Michael', 'Bob', 'Tracy'] 可通过 ...
- Python笔记:Python中is和==的区别
==是比较两端的值 is是比较内存地址: 数据的内存地址可用id()获取 在Python中为了存储数据占用较小的内存,对于int类型和str类型内设了小数据池,其中的数据在被使用时,会使用同一内存地址 ...
- 【Python笔记】Python变量类型
Python 变量类型 变量存储在内存中的值.这就意味着在创建变量时会在内存中开辟一个空间. 基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中. 因此,变量可以指定不同的数据 ...
- python笔记之python基础
python基础语法 1.变量命名规则 1).变量必须以字母或者下划线_开头 2).变量可由字母.数字.下划线_组成 3).变量对大小写敏感 2.多行语句 当编写的代码较长,需要换行,可使用 \ 进行 ...
- python笔记 利用python 自动生成条形码 二维码
1. ean13标准条形码 from pystrich.ean13 import EAN13Encoder encode = EAN13Encoder(') encode.save('d:/barco ...
- Python笔记之不可不练
如果您已经有了一定的Python编程基础,那么本文就是为您的编程能力锦上添花,如果您刚刚开始对Python有一点点兴趣,不怕,Python的重点基础知识已经总结在博文<Python笔记之不可不知 ...
随机推荐
- 6 Django的视图层
视图函数 一个视图函数,简称视图,是一个简单的Python 函数,它接受Web请求并且返回Web响应.响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片. . ...
- 8 定制10MINs 3
1. <div class="ui inverted red basic segment"> <h3 class="ui header"> ...
- FastJson 打Release 包解析失败
debug 的时候,fastJson 解析数据正常.但是打了release 的时候,解析的List 总是null. 找了半天,发现,是fastJson 是对泛型有问题. 解决办法: -keepattr ...
- Python数据类型一
一.整型 在Python内部对整数的处理分为普通整数和长整数,普通整数长度为机器位长,通常都是32位,超过这个范围的整数就自动当长整数处理,而长整数的范围几乎完全没限制Python可以处理任意大小的整 ...
- java中多态的概念
概念: 简答来说,多态(Polymorphism)是具有表现多种形态的能力的特征. 更专业的说法是:同一个实现接口,使用不同的实例而执行不同的操作. 好处: 通过多态可以减少类中代码量,可以提高 ...
- 自动化测试学习之路--json、dom编程
1.json: json是JavaScript Object Notation,是一种数据传输格式. 以下程序都是在浏览器的Console下执行的. 创建一个javaScript的对象: var st ...
- Flask 教程精简版之一(系列片)
Flask 教程精简版之一(系列片) 现在连教程都有精简版 准备 1.要学会 Flask 之前必须掌握 Python 基本使用. 2.会使用简单的 HTML 效果更加 3.若想练气功必须先自暴自弃 简 ...
- java 日期处理相关
/** *获取指定日期 前后指定天数的 日期 * */ public static String getNewDate(String sdate, int days) throws Exception ...
- corosync.conf
##totem定义集群内各节点间是如何通信的,totem本是一种协议,专用于corosync专用于各节点间的协议,协议是有版本的 totem { ##版本号 version: ##安全认证on|off ...
- C#程序怎么写,效率高
文章:改善C#程序,提高程序运行效率的50种方法 文章:编写高效率的C#代码