Python实现的一个找零钱的小程序代码分享

yipeiwu_com6年前Python基础

Python写的一个按面值找零钱的程序,按照我们正常的思维逻辑从大面值到小面值的找零方法,人民币面值有100元,50元,20元,10元,5元,1元,5角,1角,而程序也相应的设置了这些面值。只需要调用函数时传入您想要找零的金额,程序会自动算各个面值的钱应该找多少张。如传入50元,则系统自动算出找零50元一张面值,如果传入60块7毛,则程序自动算出该找零50元一张,10元一张,5角一张,1角两张。

# encoding=UTF-8
 
def zhaoqian(money):
    loop=True
    tmp=['总金额:'+str(money)+'元']
     
    # 面值列表 单位:元
    cate=(
          100,
          50,
          20,
          10,
          5,
          1,
          0.5,
          0.1
    )
     
    sy=int(money*10)
    while loop:
        if sy==0:
            loop=False
        else:
            for row in cate:
                tmpStr = ''
                jine=int(row*10)
                if jine>=10:
                    tmpUn = '元'
                else:
                    tmpUn = '角'
                     
                if sy>=jine and tmpStr=='':
                    m = sy//jine
                    sy = sy%jine
                    if jine>=10:
                        tmpStr = str(jine//10)+tmpUn+str(m)+'张'
                    else:
                        tmpStr = str(jine)+tmpUn+str(m)+'张'
                    tmp.append(tmpStr)
         
    return tmp
 
a=zhaoqian(88.7)
for x in a:
    print x

相关文章

50行Python代码实现人脸检测功能

50行Python代码实现人脸检测功能

  现在的人脸识别技术已经得到了非常广泛的应用,支付领域、身份验证、美颜相机里都有它的应用。用iPhone的同学们应该对下面的功能比较熟悉   iPhone的照片中有...

浅谈Python中列表生成式和生成器的区别

列表生成式语法: [x*x for x in range(0,10)] //列表生成式,这里是中括号 //结果 [0, 1, 4, 9, 16, 25, 36, 49, 64, 81...

numpy.ndarray 实现对特定行或列取值

numpy.ndarray 实现对特定行或列取值

如下所示: import numpy as np b = [[1,2,0], [4,5,0], [7,8,1], [4,0,1], [7,11,1] ] a=np.array...

python3实现用turtle模块画一棵随机樱花树

python3实现用turtle模块画一棵随机樱花树

废话不多说了,直接上代码吧! #!/usr/bin/env python # coding=utf-8 # 画一棵樱花 import turtle import random...

Python面向对象封装操作案例详解 II

Python面向对象封装操作案例详解 II

本文实例讲述了Python面向对象封装操作。分享给大家供大家参考,具体如下: 目标 士兵突击案例 身份运算符 封装 封装 是面向对象编程的一大特点 面向对象编程的 第一步 —— 将 属性...