python练习day6

#自动贩卖机:

#允许用户投币,但投币总数不能超过10块钱(币总只支持1元,5元,10元)。 如果10块以上,则直接退出贩卖机功能使用。

#贩卖机中饮料只有橙汁、椰汁、矿泉水、早餐奶,售价分别是3.5,4.2,4.5,2

#用户需要通过: 投钱和选择饮料,来使用贩卖机。

#如果饮料是没有的,则直接退出贩卖机功能使用。

#并通过判断之后,给用户吐出饮料和找零。

#请写函数实现贩卖机的功能。并调用此函数,调用时要用不同的数据来测试函数的功能是否正确实现。

# ps:不需要考虑重复投币。贩卖机只需要知道总的投币数量即可。

#一次只取一个饮料

def slot_machine():

total_money = input("自动贩卖机只支持投币1元,5元,10元,请按需投币:")

if total_money.isdigit():    #判断是否是数字

        if float(total_money) in (1.0,5.0,10.0):

print("""

*******************************

slot machine

橙汁:3.5元

                    椰汁:4.2元

                    矿泉水:4.5元

                    早餐奶:2元

                *******************************

""")

drink_info = {"橙汁": 3.5, "椰汁": 4.2, "矿泉水": 4.5, "早餐奶": 2}

drink = input("请选择需要购买的饮料:")

if total_money == "1":

print("投币金额不足,无法购买{}".format(drink))

return "取回所投金额:{}".format(total_money)

return

if drink in drink_info.keys():

change = round(float(total_money) - drink_info[drink],1)

return "吐零:{}".format(change), drink

else:

print("Sorry,所选饮料不存在,无法购买,我们后期会多加改进!")

return "取回所投金额:{}".format(total_money)

return

else:

print("投币不正确,请按提示投币!")

return "取回所投金额:{}".format(total_money)

return

else:

print("投币不正确,请按提示投币!")

return

print(slot_machine())

"""

测试数据:

1、s

2、1橙汁

3、2

4、5橙汁

5、10椰汁

6、5可乐

7、12

"""

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Python的hello-world: print ("Hello, Python!")、 完了 摇就完事儿...
    LunarShade阅读 1,429评论 0 0
  • rljs by sennchi Timeline of History Part One The Cognitiv...
    sennchi阅读 7,419评论 0 10
  • 初识面向对象 楔子 你现在是一家游戏公司的开发人员,现在需要你开发一款叫做<人狗大战>的游戏,你就思考呀,人狗作战...
    go以恒阅读 945评论 0 6
  • 以下学习、摘录自《非凡视觉:摄影大师的构思与创作》 第1章 诗歌和摄影 教育不是往桶里装满水,而是点燃一把火。 诗...
    whybask阅读 315评论 1 0
  • 最尴尬莫过于,欲望大过能力,奢望大过本事!
    橘子小姐说阅读 148评论 0 0