硬币组合问题python_关于硬币的python问题
展开全部
# coding:utf8
import random
def chkcoin(acoin):
basecoin = [1, 5, 10, 25]
flag = False
for bc in basecoin:
62616964757a686964616fe78988e69d8331333335336366if acoin == int(bc):
return True
else:
flag = True
if flag:
print 'Invalid entry'
return False
def tryAgain():
comd = raw_input('Try again (y/n)?: ')
if comd == 'y':
return True
elif comd == 'n':
print 'Thanks for playing ... goodbye'
return False
else:
print 'Command error! Please enter y or n.'
print 'Thanks for playing ... goodbye'
return False
if __name__ == '__main__':
print'''The purpose of this exercise is to enter a number of coin values
that add up to a displayed target value.
Enter coins values as 1-penny, 5-nickel, 10-dime, and 25-quarter.
Hit return after the lase entered coin value.
-----------------------
''',
rand = random.randint(1, 99)
print 'Enter coins that add up to %s cents, one per line.' % rand
isAgain = True
while isAgain:
coins = []
acoin = int(raw_input('Enter first coin: '))
if chkcoin(acoin):
coins.append(acoin)
else:
continue
while True:
tolcoin = 0
for coin in coins:
tolcoin += int(coin)
print tolcoin
if tolcoin == rand:
print 'Correct!'
if not tryAgain():
isAgain = False
break
elif tolcoin > rand:
print 'Sorry - total amount exceeds %s cents.' % rand
if not tryAgain():
isAgain = False
break
else:
pass
acoin = int(raw_input('Enter next coin: '))
if chkcoin(acoin):
coins.append(acoin)
else:
continue
if isAgain:
rand = random.randint(1, 99)
print 'Enter coins that add up to %s cents, one per line.' % rand
运行结果:
Python 2.7.8 (default, Jun 30 2014, 16:03:49) [MSC v.1500 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> ================================ RESTART ================================
>>>
The purpose of this exercise is to enter a number of coin values
that add up to a displayed target value.
Enter coins values as 1-penny, 5-nickel, 10-dime, and 25-quarter.
Hit return after the lase entered coin value.
-----------------------
Enter coins that add up to 1 cents, one per line.
Enter first coin: 1
1
Correct!
Try again (y/n)?: y
Enter coins that add up to 72 cents, one per line.
Enter first coin: 25
25
Enter next coin: 25
50
Enter next coin: 25
75
Sorry - total amount exceeds 72 cents.
Try again (y/n)?: n
Thanks for playing ... goodbye
>>>
我这里用的是list来存储输入的数字,累加,这只是一种方法,你可以加工精简。。。也可以用楼上兄弟的方法逐减,然后和0比较。希望你能解决这个问题。
硬币组合问题python_关于硬币的python问题相关推荐
- 硬币组合问题python_动态规划之硬币组合问题
问题:如果我们有面值为1元.3元和5元的硬币若干枚,如何用最少的硬币凑够11元? 动态规划的本质是将原问题分解为同性质的若干相同子结构,在求解最优值的过程中将子结构的最优值记录到一个表中以避免有时会有 ...
- Python数据结构20:动态规划:找零兑换问题的动态规划解法并显示使用的硬币组合
在我们使用递归算法时,可能会出现规模庞大的重复计算,用一个中间表记录每个计算过的最优解法,就可以避免大量的重复计算.中间结果记录可以很好解决找零兑换问题.实际上,这种方法还不能称为动态规划,而是叫做& ...
- 动态规划之硬币组合问题
问题:如果我们有面值为1元.3元和5元的硬币若干枚,如何用最少的硬币凑够11元? 动态规划的本质是将原问题分解为同性质的若干相同子结构,在求解最优值的过程中将子结构的最优值记录到一个表中以避免有时会有 ...
- 优惠券使用/凑满减优惠/硬币组合问题(结果包括最优组合和最优值)
DP法求满减优惠组合问题 一.原问题描述 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 最近天气炎热,小Ho天天宅在家里叫外卖.他常吃的一家餐馆一共有N道菜品,价格分别 ...
- 算法题 硬币组合问题
原文:http://www.cnblogs.com/python27/archive/2013/09/05/3303721.html 问题描述 假设我们有8种不同面值的硬币{1,2,5,10,20,5 ...
- 322. 零钱兑换 给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。 你可以认为每
零钱兑换 给定不同面额的硬币 coins 和一个总金额 amount.编写一个函数来计算可以凑成总金额所需的最少的硬币个数.如果没有任何一种硬币组合能组成总金额,返回 -1. 你可以认为每种硬币的数量 ...
- 4.2.3 编程题《将一笔钱换算成1分、2分和5分的硬币组合》
将一笔钱(大于8分,小于1元,精确到分)换算成1分.2分和5分的硬币组合。输入金额,问有几种换算方法?要求每种硬币至少有一枚。 [输入形式] 从键盘输入一个正整数n. [输入输出样例1](下划线部分表 ...
- 给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1
/*** 给定不同面额的硬币 coins 和一个总金额 amount.编写一个函数来计算可以凑成总金额所需的最少的硬币个数.如果没有任何一种硬币组合能组成总金额,返回 -1.* 输入: coins = ...
- Android实训做一个QQ的代码,腾讯2018安卓实习模拟笔试题——小Q硬币组合
为什么每次看到这种题的超简短解题代码都会有一种"哇!"的感觉 题意 小Q非常富有,拥有非常多的硬币,小Q的拥有的硬币是有规律的,对于所有的非负整数K,小Q恰好各有两个数值为2^k的 ...
最新文章
- 打造数字原生引擎,易捷行云EasyStack发布新一代全栈信创云
- 【组合数学】递推方程 ( 通解定义 | 无重根下递推方程通解结构定理 )
- TF-IDF(term frequency–inverse document frequency)
- maven 公共模块依赖_idea 创建多模块依赖Maven项目
- WebLogic及其重要概念
- Vue---vue-cli 中的proxyTable解决开发环境中的跨域问题
- SQL Server分组查询
- 【QA】基于动态协同网络(DCN)的问答模型
- 如何防止softmax函数上溢出(overflow)和下溢出(underflow)
- python多级菜单_python练习题:多级菜单(dict练习)
- 计算机232接口接线,RS232接口
- 轮盘的基础,简单的实现和Toolbar的实现
- PAT L3-001 凑零钱(01背包(布尔背包)+记录路径)
- 史上最全4S店维修潜规则 看完绝不被坑
- 张江男曲折的出国梦_IT新闻_博客园
- python 兼职多少钱一小时_无印良品兼职一小时多少钱?看完后就清楚了!
- Vulkan学习(一)介绍
- MATLAB 棋盘格图片校准
- C语言随机函数的使用
- 【路径规划】基于蚁群算法求解运钞车路径规划VRPSD问题matlab代码
热门文章
- 二叉树 Java 实现 前序遍历 中序遍历 后序遍历 层级遍历 获取叶节点 宽度 ,高度,队列实现二叉树遍历 求二叉树的最大距离...
- 号称“永不限速”的阿里云网盘开始公测预约!或将支持度盘一键迁移
- Android 信号量signal使用注意的问题
- portainer部署
- VS2010 hexEdit自定义控件的使用
- Python 制作《小说阅读器》,源码及打包程序
- 内蒙古农业大学的计算机专业怎样,内蒙古农业大学计算机与信息工程学院
- 鸿蒙生态会取代小米吗,据传小米未来将采用华为鸿蒙体制 小米和华为合并的可能性大吗...
- 数组push方法使用 Uncaught TypeError: Cannot read property ‘push‘ of null
- 2023中国(上海)国际溴化工产业展览会