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

yipeiwu_com5年前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

相关文章

Python二元赋值实用技巧解析

这篇文章主要介绍了Python二元赋值实用技巧解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 python支持类似于a += 3这...

盘点提高 Python 代码效率的方法

第一招:蛇打七寸:定位瓶颈 首先,第一步是定位瓶颈。举个简单的栗子,一个函数可以从1秒优化到到0.9秒,另一个函数可以从1分钟优化到30秒,如果要花的代价相同,而且时间限制只能搞定一个,...

Python File readlines() 使用方法

Python File readlines() 使用方法

概述 readlines() 方法用于读取所有行(直到结束符 EOF)并返回列表,该列表可以由 Python 的 for... in ... 结构进行处理。 如果碰到结束符 EOF 则返...

Python操作Sql Server 2008数据库的方法详解

Python操作Sql Server 2008数据库的方法详解

本文实例讲述了Python操作Sql Server 2008数据库的方法。分享给大家供大家参考,具体如下: 最近由于公司的一个项目需要,需要使用Sql Server 2008数据库,开发...

python实现的阳历转阴历(农历)算法

搜索了好几个python实现的万年历多有部分时间有问题,好多是来自这个代码: 复制代码 代码如下:#!/usr/bin/env python# -*- coding: utf-8 -*-...