1. 程式人生 > >自動售貨機

自動售貨機

goods = {
    'A1': [2, 6],
    'A2': [3, 6],
    'A3': [4, 6],
    'A4': [5, 6],
    'A5': [8, 6],
    'A6': [6, 6]
}

goods1 =  {
    'A1': [2, 0],
    'A2': [3, 0],
    'A3': [4, 0],
    'A4': [5, 0],
    'A5': [8, 0],
    'A6': [6, 0]
}

moneys = {
    1:10,
    2:10,
    5:10,
    10:10,
}
money = 0


# 初始化
def initial(choice,goods,moneys): choice1 = choice[1].split('-') choice2 = choice[2].split('-') for i,v in zip(goods,range(6)): goods[i][1]=int(choice1[v]) for i,v in zip(moneys,range(4)): moneys[i]=int(choice2[v]) print("s001:Initialization is successful") # 投幣
def payCoin(choice,goods,moneys): global money num = int(choice[1]) num1 = [1,2,5,10] if num not in num1: print("E002:Denomination error") elif moneys[1]+moneys[2]<num: print("E003:Change is not enough, pay fail") elif num>10: print("E004:Pay the balance is beyond the scope biggest"
) elif goods.values()==goods1.values(): print("E005:All the goods sold out") else: print("S002:Pay success,balance=%s" %(num)) moneys[num] += 1 money += num # 購買商品 def buyGoods(choice,goods): global money if choice[1] not in goods: print("E006:Goods does not exist") elif goods[choice[1]][1]==0: print("E007:The goods sold out") elif money<goods[choice[1]][0]: print("E008:Lack of balance") else: money = money-goods[choice[1]][0] goods[choice[1]][1]-=1 print("S003:Buy success,balance=%d" %(money)) # 退幣 def returnCoin(moneys): global money if money ==0: print("E009:Work failure") else: change_money = {} while money: if moneys[10] and money >= 10: change_money[10] = change_money.get(10, 0) + 1 moneys[10] -= 1 money -= 10 elif moneys[5] and money >= 5: change_money[5] = change_money.get(5, 0) + 1 moneys[5] -= 1 money -= 5 elif moneys[2] and money >= 2: change_money[2] = change_money.get(2, 0) + 1 moneys[2] -= 1 money -= 2 elif moneys[1] and money >= 1: change_money[1] = change_money.get(1, 0) + 1 moneys[1] -= 1 money -= 1 else: break for i in moneys: print("%s yuan coin number=%s" %(i,change_money.get(i,0))) money=0 # 查詢庫存商品 def queryGoods(choice,goods,moneys): print(""" 查詢類別 查詢內容 0 查詢商品資訊 1 查詢存錢盒資訊 """) choice = int(input("請選擇您要查詢的類別:")) if choice == 0: li = sorted(goods.items(),key=lambda x:x[1][1]) for i,v in li: print("%s %s %s" %(i,v[0],v[1])) elif choice == 1: for i,v in moneys.items(): print("%s yuan xoin number=%s" %(i,v)) else: print("E010:Parameter error") def main(): while True: print("""**********請輸入你需要的業務********** r. 初始化 p. 投幣 b. 購買商品 c. 退幣 q. 查詢 """ ) choice = input("請您選擇:").split() if choice[0] == 'r': initial(choice, goods, moneys) elif choice[0] == 'p': payCoin(choice, goods, moneys) elif choice[0] == 'b': buyGoods(choice, goods) elif choice[0] == 'c': returnCoin(moneys) elif choice[0] == 'q': queryGoods(choice,goods,moneys) else: break main()

相關推薦

Java開發自動貨機

man 自動 lis throws span exti () port 開發 1:先寫一個類,包括商品的基本屬性 package com.xt.java.base25; public class Goods { private int ID;

無人零售市場前景廣闊 2019北京無人零售/自動貨機展會7月召開

無人零售市場前景廣闊 2019北京無人零售/自動售貨機展會7月召開 當前,你會發現無人售貨裝置越來越多地出現在人們的視野中,飲料、冰淇淋、休閒小食品、口紅、玩具公仔……售賣的貨品五花八門,只要掃碼支付、或者掃碼購買遊戲幣就可以獲得商品參與其中,讓買者既獲得了商品,又感受到了獲取過程的娛樂性、便捷性及趣味性。

物聯網絡卡使自動貨機更加智慧!

這幾年來,隨著物聯網的快速發展,物聯網絡卡也開始進入人們的視野。一些企業也開始藉助物聯網絡卡對智慧販賣機進行更 加合理規範的管理。 總的來說,科技的發展必然會帶動人們生活方式的改變。如果說移動網際網路讓手機變的更加智慧,那麼物聯網則是使跟中 裝置實現了智慧互聯。目前,隨著智慧智慧門鎖、

使用NewLife網絡庫構建可靠的自動貨機Socket服務端(一)

stat error 包含 ndis sum 自動 pre tar 產品 最近有個基於tcp socket 協議和設備交互需求,想到了新生命團隊的各種組件,所以決定用NewLife網絡庫作為服務端來完成一系列的信息交互. 第一,首先說一下我們需要實現的功能需求吧

自動貨機

goods = { 'A1': [2, 6], 'A2': [3, 6], 'A3': [4, 6], 'A4': [5, 6], 'A5': [8, 6], 'A6': [6, 6] } goods1 = {

自動貨機(java版)

//SaleMachine.java package tu; public class SaleMachine {   private int countofBeer,countofJuice,countofCola,countofFivecent,countofOnedo

JAVA模擬自動貨機

版本說明 2015-07-02 第一版。 2015-07-04 修復餘額變更錯誤問題(變數使用錯誤造成),增加修改商品數量功能,調整檢視結構,修改Unicode為中文,增加功能提示。 下面的程式碼為最新版本程式碼。 import java.awt.Bo

詳解蔬菜自動貨機的結構設計原理

  科學技術的發展以及勞動力成本的提高使得自動售貨機在全球範圍得到廣泛的應用。自動售貨機作為從勞動密集型向技術密集型發展的科技產物,具有無場地限制、無需人工看守、全天候服務的特點,配合現代電子技術能夠給人們的日常生活帶來很大的便利。 ​   智慧蔬菜售賣機有七大智慧系

【C語言經典例項】-switch分支結構-模擬自動貨機

在本例項中,我們設計一個自動售貨機的程式,執行程式,提示使用者輸入要選擇的選項,當用戶輸入以後,提示所選擇的內容。本程式使用switch分之語句,來解決程式中的選擇問題,效果如圖所示: 程式碼如下: #include<stdio.h> #include<

6-2 Verilog Mealy狀態機之自動貨機

使用工具:Xilinx ISE 14.7 問題描述: 分析: 這個系統使用3鍾投幣輸入:5美分,10美分, 25美分。一瓶汽水消耗25美分。所以有以下幾種情況: 5美分的狀態:當投幣25美分時找零5美分,其餘情況繼續投幣進入相應狀態 10美分的狀態:當投幣25美分時找零1

Verilog自動貨機設計

我們實習的內容,設計一個自動售貨機的控制器,實現以下功能: a.   機器只接受1元硬幣和5元紙幣; b.   機器共提供4種貨物,價格分別為2元、2元、3元、3元; c.   顧客先選擇需要的一種或者多種貨物,再確認所選貨物後,進入投幣狀態。當顧客選擇的貨物賣光時,本實

無人自動貨機價格貴不貴

們的 目前 時代 www 就會 高端 性能 現在 行業   隨著時代的進步,人們思想的進步,無人售貨機慢慢開始發展起來,其實不管什麽行業,都是小投資和高回報。無人自動售貨機價格貴不貴?經營無人售貨機的利潤是非常高的,最重要的是不用人工值守,不用人員看管,省心省力。   1

玩轉華為物聯網IoTDA服務系列三-自動貨機銷售分析場景示例

場景簡介        通過收集自動售貨機系統的銷售資料,EI資料分析售貨銷量狀況。         該場景主要描述的是裝置可以通過MQTT協議與物聯網平臺進行

自動飲機設計 (狀態機)

實驗內容:      1. 設計一個自動售飲料機的控制邏輯電路。      該機器有一個投幣口,每次只能投入1枚1元或5角的硬幣。 當投入了1元5角的硬幣,機器自動給出1杯飲料。當投入了2元的硬幣,機器在自動給出1杯飲料時,還找回1枚5角的硬幣。     確定輸入/輸出變數、

巧吃支付寶新年紅包,再也不用擔心錢花不出去了(貨機裡面的飲料空也沒事哦)

支付寶新年紅包怎麼花啊?支付寶實體超市/便利店/售貨機專享紅包怎麼花? 暫時不好意思,因為支付寶關閉了充值介面,所以大家只能直接在自動售水機上買飲料了,不能再充值進友寶app錢包了。 若您對“如何使用“友寶”app在自動售水機上使用“友寶錢包”支付。”有疑問,請訪問我的

淘寶自動回覆機器人配置手冊——前模板配置(下)

接上篇 這裡我是已經配好了一套模板(也就是之前示例裡的自動回覆) 如果是新配置的,點選【新增模板】按鈕即可 新的模板頁面是介樣子滴 這部分我懶得講了,看著配置就行 需要注意的是關聯問題和同步客服 關聯問題就是之前看到的藍色超連結部分,買

Excel分組快速自動填充編號

style 需求 aid article art spa 創建 ref -c 在Excel自動填充很簡單,但如果按分組等條件進行填充就有點麻煩了 說麻煩可能是你並沒有搞清楚到底如何才能實現你的需求 下圖是客戶提供的Excel數據,我需要將下面的數據導入到數據庫中,

windows 建立任務執行計劃 自動執行腳本

windows服務 images 需要 phpstudy 控制 服務器 window 一個 模式 對於windows服務器網站如果要定時執行腳本,則需要在windows控制面板裏找到 管理工具,點擊任務計劃程序,創建任務填寫任務名稱 觸發器裏新建觸發條件,設置間隔時間 在

shell之路--mysql主從自動部署

shell mysql主從 #!/bin/bash#auto make install Mysql AB Relication#by author max#date 2017-05-04MYSQL_SOFT="mysql mysql-server mysql-devel php-mysql"NUM=`

Ajax提交數據判斷員工編號是否存在,及自動填充與員工編號所對應的員工姓名。

ajax lur 進行 stack extends 字符 spa pac pub JSP頁面中所需要的JavaScript事件及Ajax 1 <script type="text/javascript"> 2 function checkEmpNo(i