1. 程式人生 > >python練習題之自動售貨系統:

python練習題之自動售貨系統:

有瑕疵,待改進:

題目描述
總體說明
考生需要模擬實現一個簡單的自動售貨系統,實現投幣、購買商品、退幣、查詢庫存商品及存錢盒資訊的功能。
系統初始化時自動售貨機中商品為6種商品,商品的單價自定義,存錢盒內放置1元、2元、5元、10元錢幣,商品數量和錢幣張數通過初始化命令設定。
商品:每種商品包含商品名稱、單價、數量三種屬性,其中商品名不重複。不能修改商品名稱和單價,初始化命令設定商品數量。
 
 

choice = input("""請輸入你需要的業務:
1).購買商品;
2).管理員查詢
輸入:""")

num_kele = 10
num_pijiu = 10
num_naicha = 10
num_kuangquanshui = 10
num_kafei = 10
num_niunai = 10

shiyuan = 100
wuyuan = 100
liangyuan = 100
yiyuan = 100

while True :
    if choice == '1' :
        print (""" 你好,有如下商品可供你選擇:
        1).可樂       2).啤酒       3).奶茶
        4).礦泉水     5).咖啡       6).牛奶
        """)
        choice = input("請輸入你要購買商品的序號:")
        if choice == '1' :
            num = int(input("你好,可樂一瓶三元,請輸入你要購買的數量:"))
            if num <= num_kele :
                print ("你好,一共%s元。" %(num * 3 ))
                money = int(input("請將鈔票放入入鈔口:"))
                while True :
                    if money == (num * 3):
                        num_kele -= num
                        print("購買成功,歡迎下次光臨!")
                        break
                    elif money > (num * 3):
                        num1 = money - (num * 3)
                        for i in range(yiyuan + 1):
                            for j in range(liangyuan + 1):
                                for o in range(wuyuan + 1):
                                    for p in range(shiyuan + 1):
                                        if p * 10 + o * 5 + j * 2 + i * 1 == num1:
                                            print("購買成功,一共找你%s元" %(num1))
                                            shiyuan -= p
                                            wuyuan -= o
                                            liangyuan -= j
                                            yiyuan -= i
                                            exit(0)
                    elif money < (num*3) :
                        money = int(input("請繼續投入現金")) + money
            if num > num_kele :
                print ("抱歉,數量不夠,請重新輸入你要購買的數量!")
        elif choice == '2' :
            num = int(input("你好,啤酒一瓶四元,請輸入你要購買的數量:"))
            if num <= num_pijiu :
                print ("你好,一共%s元。" %(num * 4 ))
                money = int(input("請將鈔票放入入鈔口:"))
                if money == (num * 4):
                    num_pijiu -= num
                    print("購買成功,歡迎下次光臨!")
                elif money < (num * 4):
                    num = int(input("請繼續投入現金:")) + money
                elif money > (num * 4):
                    num1 = money - (num * 4)
                    for i in range(yiyuan + 1):
                        for j in range(liangyuan + 1):
                            for o in range(wuyuan + 1):
                                for p in range(shiyuan + 1):
                                    if p * 10 + o * 5 + j * 2 + i * 1 == num1:
                                        print("購買成功,一共找你%s元" %(num1))
                                        shiyuan -= p
                                        wuyuan -= o
                                        liangyuan -= j
                                        yiyuan -= i
                                        exit(0)

            if num > num_pijiu :
                print ("抱歉,數量不夠,請重新輸入你要購買的數量!")
        elif choice == '3' :
            num = int(input("你好,奶茶一瓶五元,請輸入你要購買的數量:"))
            if num <= num_naicha :
                print ("你好,一共%s元。" %(num * 5 ))
                money = int(input("請將鈔票放入入鈔口:"))
                if money == (num * 5):
                    num_naicha -= num
                    print("購買成功,歡迎下次光臨!")
                elif money < (num * 5):
                    num = int(input("請繼續投入現金:")) + money
                elif money > (num * 5):
                    num1 = money - (num * 5)
                    for i in range(yiyuan + 1):
                        for j in range(liangyuan + 1):
                            for o in range(wuyuan + 1):
                                for p in range(shiyuan + 1):
                                    if p * 10 + o * 5 + j * 2 + i * 1 == num1:
                                        print("購買成功,一共找你%s元" % (num1))
                                        shiyuan -= p
                                        wuyuan -= o
                                        liangyuan -= j
                                        yiyuan -= i
                                        exit(0)

            if num > num_naicha :
                print ("抱歉,數量不夠,請重新輸入你要購買的數量!")
        elif choice == '4' :
            num = int(input("你好,礦泉水一瓶兩元,請輸入你要購買的數量:"))
            if num <= num_kuangquanshui :
                print ("你好,一共%s元。" %(num * 2 ))
                money = int(input("請將鈔票放入入鈔口:"))
                if money == (num * 2):
                    num_kuangquanshui -= num
                    print("購買成功,歡迎下次光臨!")
                elif money < (num * 2):
                    num = int(input("請繼續投入現金:")) + money
                elif money > (num * 2):
                    num1 = money - (num * 2)
                    for i in range(yiyuan + 1):
                        for j in range(liangyuan + 1):
                            for o in range(wuyuan + 1):
                                for p in range(shiyuan + 1):
                                    if p * 10 + o * 5 + j * 2 + i * 1 == num1:
                                        print("購買成功,一共找你%s元" % (num1))
                                        shiyuan -= p
                                        wuyuan -= o
                                        liangyuan -= j
                                        yiyuan -= i
                                        exit(0)

            if num > num_kuangquanshui :
                print ("抱歉,數量不夠,請重新輸入你要購買的數量!")
        elif choice == '5' :
            num = int(input("你好,咖啡一瓶六元,請輸入你要購買的數量:"))
            if num <= num_kafei :
                print ("你好,一共%s元。" %(num * 6 ))
                money = int(input("請將鈔票放入入鈔口:"))
                if money == (num * 6):
                    num_kafei -= num
                    print("購買成功,歡迎下次光臨!")
                elif money < (num * 6):
                    num = int(input("請繼續投入現金:")) + money
                elif money > (num * 6):
                    num1 = money - (num * 6)
                    for i in range(yiyuan + 1):
                        for j in range(liangyuan + 1):
                            for o in range(wuyuan + 1):
                                for p in range(shiyuan + 1):
                                    if p * 10 + o * 5 + j * 2 + i * 1 == num1:
                                        print("購買成功,一共找你%s元" % (num1))
                                        shiyuan -= p
                                        wuyuan -= o
                                        liangyuan -= j
                                        yiyuan -= i
                                        exit(0)

            if num > num_kafei :
                print ("抱歉,數量不夠,請重新輸入你要購買的數量!")
        elif choice == '6' :
            num = int(input("你好,牛奶一瓶五元,請輸入你要購買的數量:"))
            if num <= num_niunai :
                print ("你好,一共%s元。" %(num * 5 ))
                money = int(input("請將鈔票放入入鈔口:"))
                if money == (num * 5):
                    num_niunai -= num
                    print("購買成功,歡迎下次光臨!")
                elif money < (num * 5):
                    num = int(input("請繼續投入現金:")) + money
                elif money > (num * 5):
                    num1 = money - (num * 5)
                    for i in range(yiyuan + 1):
                        for j in range(liangyuan + 1):
                            for o in range(wuyuan + 1):
                                for p in range(shiyuan + 1):
                                    if p * 10 + o * 5 + j * 2 + i * 1 == num1:
                                        print("購買成功,一共找你%s元" % (num1))
                                        shiyuan -= p
                                        wuyuan -= o
                                        liangyuan -= j
                                        yiyuan -= i
                                        exit(0)

            if num > num_niunai :
                print ("抱歉,數量不夠,請重新輸入你要購買的數量!")
        else :
            print("對不起,沒有該商品!請重新輸入!")
    if choice == '2' :
        X = input("""請輸入你要查詢的資訊:
    1).商品庫存;
    2).存錢盒資訊
    3).退出
    請輸入你需要的資訊:""")
        if X == '1' :
            print ('可樂%s瓶,啤酒%s瓶,奶茶%s瓶,礦泉水%s瓶,咖啡%s瓶,牛奶%s瓶' %(num_kele,num_pijiu,num_naicha,num_kuangquanshui,num_kafei,num_niunai))
        if X == '2' :
            shiyuan = 100
            wuyuan = 100
            liangyuan = 100
            yiyuan = 100
            print ("十元%s張,五元%s張,兩元%s張,一元%s張" %(shiyuan,wuyuan,liangyuan,yiyuan))
        if X == '3' :
            break

--end

相關推薦

python練習題自動售貨系統

有瑕疵,待改進: 題目描述 總體說明 考生需要模擬實現一個簡單的自動售貨系統,實現投幣、購買商品、退幣、查詢庫存商品及存錢盒資訊的功能。 系統初始化時自動售貨機中商品為6種商品,商品的單價自定義,存錢盒內放置1元、2元、5元、10元錢幣,商品數量和錢幣張數通過初始化命令

Python練習【5】【自動售貨系統

不足 ESS exceptio dsw default 限制 int coin 提示信息 題目: 代碼: # 商品屬性 prize_default = [2, 3, 4, 5, 8, 6] goods_info = {‘A‘ + str(i+1): dict(prize

python學習數據庫mongoDB

list 地址 col ica import 狀態 end 最大 sre 參考網址: 1、http://www.runoob.com/mongodb/mongodb-intro.html 2、http://www.runoob.com/python/python-mysql

python自動化(自動生成測試報告)

  前言:  用python執行測試指令碼, 測試報告是記錄我們測試過程的問題, 方便我們對整個測試過程的把控. 這裡引用的是別人寫好的模板, 我們拿過來用就OK, 能力強者可自行編寫模板 測試報告圖模板:   1.第一步:首先下載模組 中文下載地:https://

python練習題雞兔同籠

for x in range(1,100): for y in range(1,100): z = 100 -x-y if (5*x+3*y+z/3==100) and z%3==0: print(x,y,z)

python練習題簡易計算器

print("簡易計算器:(+-*/,例如1+2)") while True: str=input("請輸入含兩個數的表示式或者Q退出>>:") if(str=="Q"): break else: if("+

python練習題《按月份統計每月氣溫的最大值、最小值及平均值》

1.題目:根據csv檔案,按月份計算每個月的溫度最值和均值 2.技巧點:布林型陣列==》作為索引刪選資料 程式碼如下: import numpy as np import matplotlib.pyplot as plt file = "./temp.csv" mon

python練習題 貓2

class Cat: def __init__(self): # 建構函式(屬性有 姓名 年齡 顏色) self.name = None self.age = None self.color = None def run(self):

python 練習題

class Cat: def __init__(self,name=None,age=None,color=None): self.__name=name self.__age=age self.__color=color def se

python練習銀行模擬系統

建立 atm.py from card import Card from user import User import random class Atm(object): def __init__(self): self.user_dict = {} def p

基於神經網路的目標檢測論文目標檢測系統實時路況檢測系統的設計與實現

注:本文源自本人的碩士畢業論文,未經許可,嚴禁轉載! 原文請參考知網:知網地址 第五章 實時路況檢測系統的設計與實現 物體識別技術被廣泛應用於人們的生產生活中。隨著深度學習與雲端計算的飛速發展,帶動了物體識別技術產生質的飛躍。高解析度影象和檢測的實時性要求越來越

Python爬蟲requests庫(三)傳送表單資料和JSON資料

import requests 一、傳送表單資料 要傳送表單資料,只需要將一個字典傳遞給引數data payload = {'key1': 'value1', 'key2': 'value

Python學習函式引數傳遞傳值 or 引用 ?

在學完Python函式那一章節時,很自然的的就會想到Python中函式傳參時傳值呢?還是傳引用?或者都不是? 我回去看了看我以前做的關於淺拷貝與深拷貝的筆記,其實那裡也已經涉及了一些引用相關的問題了。不過在這裡還是再進行一次總結吧。 在回答上面的問題之前我們先

Python學習GUI--登入系統介面篇

導言篇:我的python環境是:python3.6.5這裡我選擇的GUI程式設計包是:tkintertkinker在python2.5以後就是自帶包了,所以我們不需要另外安裝tkinker相對與其他python GUI程式設計的包而已,是相對容易入手的程式碼篇:#這是系統的登

Python爬蟲自動登入與驗證碼識別

轉自:http://blog.csdn.net/tobacco5648/article/details/50640691 在用爬蟲爬取網站資料時,有些站點的一些關鍵資料的獲取需要使用賬號登入,這裡可以使用requests傳送登入請求,並用Session物件來自動處理相關

Python爬蟲requests庫(五)Cookie、超時、重定向和請求歷史

import requests 一、Cookie 獲取伺服器響應中的cookie資訊 url = 'http://example.com/some/cookie/setting/url'

華為OJ自動售貨系統

2 操作說明     命令字與第一個引數間使用一個空格分隔,多條命令採用分號隔開。考試系統會對輸入命令格式進行處理,考生不需要關注輸入命令格式的合法性,只需要實現命令處理函式。 2.1 系統初始化 命令格式: r A1數量-A2數量-A3數量-A4數量-A5數量-A6數量 1元張數-2元張數-5元張數-10

Zabbix監控系統(二)Zabbix管理自動發現服務

1. 建立自動發現 配置->自動發現->建立發現規則 設定名稱 配置IP範圍 設定延遲時間 設定IP地址為唯一性準則 啟用發現規則 2. 建立動作 配置->動作->建立動作 2.1 設定執

Python 練習題統計系統剩余內存

ont 內存 split open spa pytho () utf clas #!/usr/bin/env python #-*- coding:utf-8 -*- ‘‘‘ 統計系統內存信息 ‘‘‘ with open(‘/proc/meminfo‘

一個鹹魚的Python爬蟲路(三)爬取網頁圖片

you os.path odin 路徑 生成 存在 parent lose exist 學完Requests庫與Beautifulsoup庫我們今天來實戰一波,爬取網頁圖片。依照現在所學只能爬取圖片在html頁面的而不能爬取由JavaScript生成的圖。所以我找了這個網站