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笔记之不可不知 ...
随机推荐
- 「微信小程序免费辅导教程」26,基础内容组件rich-text体验
- chrome 切换到其他网络后重新加载网
chrome 突然提示 “您与 www.google.com 之间的安全连接目前正受到干扰. 请等待几分钟后再尝试重新加载网页,或在切换到其他网络后重新加载网” 查看证书发现 已经过期 解决:同步下 ...
- Maven学习 (五) Elipse中发布一个Maven项目到Tomcat
对于maven初学者的我,经常遇到一个问题就是,maven项目创建成功后,本来已经添加了jar的依赖,但是发布到Tomcat中就是没有jar包存在, 启动Tomcat总是报没有找到jar包,可项目结构 ...
- laravel5.5中间件
目录 1. 中间件知识 1. artisan 命令 2. 文件内容 3. 前置中间件和后置中间件 4. 使用中间件 2. 控制器中间件 1. 中间件知识 1. artisan 命令 php artis ...
- 用 Flask 来写个轻博客
用 Flask 来写个轻博客 用 Flask 来写个轻博客 (1) — 创建项目 用 Flask 来写个轻博客 (2) — Hello World! 用 Flask 来写个轻博客 (3) — (M)V ...
- ptmalloc,tcmalloc和jemalloc内存分配策略研究 ? I'm OWen..
转摘于http://www.360doc.com/content/13/0915/09/8363527_314549949.shtml 最近看了glibc的ptmaoolc,Goolge的tcmall ...
- appium-desktop 环境搭建 Java版
用的是appium-desktop1.8.1,testng6.11,java-client6.1.0,selenium-java3.13.0 1.下载逍遥模拟器,装好app 2.下载adb,用adb连 ...
- 孤荷凌寒自学python第四天 安装python的其它IDE环境
孤荷凌寒自学python第四天 安装python的其它IDE环境 (完整学习过程屏幕记录视频地址在文末) 因为是完全的新手,对python环境搭建完全一无所知,因此,可真是大费周章才配置了其它多个Id ...
- 【Python】重定向 Stream 到文件
Python 系统模块 sys 中有三个变量 stdin . stdout 与 stderr ,分别对应标准输入流.输出流与错误流.stdin 默认指向键盘, stdout 与 stderr 默认指向 ...
- 游戏开发学习ing
创建工程 python cocos.py new HelloWorld -p com.cocos2dx.org -l cpp -d myprojects 这个命令就是运行python然后编译cos.p ...