python从入门到精通:我是一名初学者,此书是通过淘宝网店购买,最近一直在自学,以上问题请求各位老师能给予圆满解答,万分感谢。
发表在Python视频课程答疑 2020-04-26
是否精华
版块置顶:

def fun_checkout(money):

   

    '''

    功能:计算商品合计金额并进行折扣处理

    Money: 保存金额的列表

    返回值:返回商品的合计金额和折扣后的金额

    

    '''

    money_old = sum(money)

    money_new = money_old

    

    if 500<= money_old <1000:

        money_new = '{:.2f}'.format(money_old * 0.9)

    elif 1000 <= money_old < 2000:

        money_new = '{:.2f}'.format(money_old * 0.8)

    elif 2000 <= money_old < 3000:

        money_nwe = '{:.2f}'.format(money_old * 0.7)

    elif 3000 <= money_old:

        money_new = '{:.2f}'.format(money_old * 0.6)

    return money_old,money_new



# 调用函数


print("\n开始结算……\n")

list_money = []



while True:

    

    inmoney = float(input("请输入商品金额(输入0开示输入完毕)"))

    if int(inmoney) == 0:

        break

    else:

        list_money.append(inmoney)

        money = fun_checkout(list_money)

print(list_money)

print("合计金额:",money[0],"应付金额:",money[1])




以上是《python从入门到精通》一书中,9.3返回值中的实例9.4


  1. 运行代码,开始就输入金额为:0,会报错,是什么原因?如图:image.png


  2. 运行代码,开始就输入金额:0.1或0.01,会报错,请告知原因。如图:image.png

    我是一名初学者,此书是通过淘宝网店购买,最近一直在自学,以上问题请求各位老师能给予圆满解答,万分感谢。

分享到:
精彩评论 3
hellolouis
学分:52 LV3
2020-04-26
沙发

我也是个初学者


1、

if int(inmoney) == 0:

        break

    else:

        list_money.append(inmoney)

        money = fun_checkout(list_money)

print(list_money)

print("合计金额:",money[0],"应付金额:",money[1])


看看加粗部分,等于0的时候break,没有money这个变量。但是最后还要print  money。



2、if int(inmoney) == 0:


int()任何0.几的数都是等于0,


int(0.1) ==0

True

13661017741
学分:15 LV2
2020-04-29
板凳

hellolouis 发表于2020-04-26 10:03

我也是个初学者


1、

if int(inmoney) == 0:

        break

    else:

        list_money.append(inmoney)

        money = fun_checkout(list_money)

print(list_money)

print("合计金额:",money[0],"应付金额:",money[1])


看看加粗部分,等于0的时候break,没有money这个变量。但是最后还要print  money。



2、if int(inmoney) == 0:


int()任何0.几的数都是等于0,


int(0.1) ==0

True

加我微信帮你调试

13661017741


13661017741
学分:15 LV2
2020-04-29
地板

hellolouis 发表于2020-04-26 10:03

我也是个初学者


1、

if int(inmoney) == 0:

        break

    else:

        list_money.append(inmoney)

        money = fun_checkout(list_money)

print(list_money)

print("合计金额:",money[0],"应付金额:",money[1])


看看加粗部分,等于0的时候break,没有money这个变量。但是最后还要print  money。



2、if int(inmoney) == 0:


int()任何0.几的数都是等于0,


int(0.1) ==0

True

加我微信帮你调试

13661017741


首页上一页 1 下一页尾页 3 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照