Python实现的一个自动售饮料程序代码分享,python程序代码


写这个程序的时候,我已学习Python将近有一百个小时,在CSDN上看到有人求助使用Python如何写一个自动售饮料的程序,我一想,试试写一个实用的售货程序。当然,只是实现基本功能,欢迎高手指点,新手学习参考。

运行环境:Python 2.7

# encoding=UTF-8
loop=True
money=0
while loop:
    x = raw_input('提示:请投入金币,结束投币请按"q"键')
    if x=='q':
        if money==0:
            print '错误:您未投入过纸币,请至少投入一张纸币后才能选购商品'
        else:
            print '提示:您已结束投币,将进入购买商品操作界面'
            loop = False
    else:
        try:
            x = int(x)
            money+=x
            print '提示:您此次投币',x,'元人民币,您一共投币',money,'元人民币'
        except Exception,e:
            print '错误:您的金币系统不识别,请重新投币,谢谢!'
 
GoodList = {
    '可口可乐':2.5,
    '果粒橙':3,
    '奶茶':1.5,
    '加多宝':4
}
 
i=0
print '请选择商品:'
for x in GoodList:
    i+=1
    print '编号',i,'商品名称',x,'价格',GoodList[x]
print
 
fanwei = range(len(GoodList))
loop = True
while loop:
    o = raw_input('提示:请输入您要购买的商品编号,按"q"键结束购买')
    if o=='q':
        loop = False
    else:
        try:
            o = int(o)
            if o>=1 and o<=len(GoodList):
                i=0
                for x in GoodList:
                    i+=1
                    if i==o:
                        if money>=GoodList[x]:
                            money -= GoodList[x]
                            print '提示:您购买的商品是:',x,',价格:',GoodList[x],',您还剩余:',money,'元人民币'
                            if money==0:
                                loop = False
                        else:
                            print '错误:您的余额',money,'元已不足购买此商品',x,'[',GoodList[x],'元]'
            else:
                print '错误:您输入的商品编号不存在,请重新输入'
        except Exception,e:
            print '错误:请输入正确的产品编号,谢谢合作!'
 
if money>0:       
    print '提示:系统将找您,',money,'元人民币,欢迎下次光临'
else:
    print '提示:您的余额已用完,欢迎下次光临'

编程实现一个处理单价为5角钱的饮料的自动售货机软件,并用因果法设计测试用例并实

这个很简单嘛.....

Dim sumMoney As Integer = 100
Public Sub Test(ByVal money As Integer, ByVal options As String)
' 若投入5角钱或1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。
'若售货机没有零钱找,则一个显示〖零钱找完〗的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;
'若有零钱找,则显示〖零钱找完〗的红灯灭,在送出饮料的同时退还5角硬币。”
Dim fiveTea As String = "茶"
Dim oneCoffee As String = "咖啡"
Response.Write("欢迎光临,请投币/并选择物品!")
Select Case CType(options, String)
Case options = fiveTea
Response.Write("您选择的是茶!$5")
If money = 5 Then
Response.Write("您的物品" & fiveTea & "已购买成功!谢谢光临")
ElseIf money < 5 Then
Response.Write("对不起,钱不够,请投币!")
ElseIf money > 5 Then
Dim s As Integer
If sumMoney > money Then
s = money - 5
Response.Write("您的物品" & fiveTea & "已购买成功!应找您" & s & "元")
Else
Response.Write("对不起,无法找您钱!谢谢光临!请收好您的钱" & money & "")
End If
End If
Case options = oneCoffee
Response.Write("您选择的是咖啡!$1")
If money = 1 Then
Response.Write("您的物品" & oneCoffee & "已购买成功!谢谢光临")
ElseIf money &lt......余下全文>>
 

设要对一个自动饮料售货机软件进行黑盒测试该软件的规格说明如下

由shooman公式:

其中,IT = 105,MTTF1 = 0.4,T1 = 160,n1 = 100,MTTF2 = 2,T2 = 320,n2 = 300。得:

(1) 解得程序中固有得错误总数ET = 350,此外K = 1000。
(2) 设MTTF = 10,有

解得x = 340。由可靠性累积曲线EC (t) = ET (1-e-K1 t ),
得 100 = 350 (1-e-160K1)
300 = 350 (1-e-320K1)
因此,3-3*e-160K1 = 1-e-320K1
2 = 3*e-160K1- e-320K1 设 x = e-160K1
有 x2 – 3x + 2 = 0
解得 x1 = 2,x2 = 1, K1 = ln(x1)/(-160) = - 0.693/160 ? 0.00433。
因为ln(x2)/(-160) = 0,舍去
代入:340 = 350 (1-e-K1 t ) = 350(1-e-0.00433 t )
350e-0.00433 t = 10
t = (ln(35))/0.00433 ? 821 (小时)
因此求得为使MTTF = 10,测试和调试该程序需要花费821小时。
(3) MTTF与测试时间t之间的函数关系:
因为EC (t) = ET (1-e-K1 t ),则ET - EC (t) = ET e-K1 t。代入shooman公式:
 

评论关闭