栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python找零钱问题_python 找零钱?

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python找零钱问题_python 找零钱?

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

Python练习

前言一、找零钱系统

原型要求/提示输入和输出示例答案以及思路详解运行结果


前言

本作业是授课型研究生21-22-Introduction to Python选修课作业,较为简单


一、找零钱系统

使用提供的原型编写一个函数,从 0 英镑到 5 英镑找零。 该函数应输出用于找零的每种面额的硬币数量,即 2 英镑、1 英镑、50 便士、20 便士、10 便士、5 便士、2 便士、1 便士。

原型
def changeMarker (value):
’’’
	function description
’’’
	return two_pound , one_pound , p50 , p20 , p10 , p5 , p2 , p1
要求/提示

功能行为/属性
• 您的函数必须检查该值是否在(0, 5) 范围内。 如果不是,该函数必须将所有硬币的数量返回 -1。
• 您的函数必须提供最少数量的硬币以换取价值。

输入和输出示例
value = 6 # if the value is set equal to 6
output = changeMarker(value) 
print (output)
# the outout should be output = (-1, -1, -1, -1, -1, -1, -1, -1)
output = changeMarker ( 2.53 )
print ( output )
# the output should be output = (1, 0, 1, 0, 0, 0, 1, 1)

答案以及思路详解
def changeMarker(value):
    '''
    function description 
    '''
    if value<=0 or value>=5:#当兑换零钱数目大于5或者小于0(小于0是隐藏条件),则所有值返回-1
        two_pound, one_pound, p50, p20, p10, p5, p2, p1 = -1, -1, -1, -1, -1, -1, -1, -1
    else:
        value = value*100
        t = [200,100,50,20,10,5,2,1]
        m = [0 for _ in range(len(t))]
        for i, money in enumerate(t):
            m[i] = int(value // money)
            value = round(value%money)#如果不使用round会导致p1取0.99
            two_pound, one_pound, p50, p20, p10, p5, p2, p1 = m
            
    
    return two_pound, one_pound, p50, p20, p10, p5, p2, p1
    


运行结果

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/783369.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号