python 练习题4

现在IPV4下用一个32位无符号整数来表示,一般用点分方式来显示,点将IP地址分成4个部分,每个部分为8位,表示成一个无符号整数(因此不需要用正号出现),如10 .137.17.1,是我们非常熟悉的IP地址,一个IP地址串中没有空格出现(因为要表示成一个32数字)。
现在需要你用程序来判断IP是否合法。
输入描述:输入一个ip地址
输出描述:返回判断的结果YES or NO
示例1
输入: 10.138.15 .1
输出: YES

#!/usr/bin/env python
#coding:utf-8
ip=raw_input("IP:")
list=ip.split(".")
if len(list) != 4:
    print 'NO'
else:
    for i in list:
        if not 0<=int(i)<=255:
            print 'no'
            break
    else:
        print'YES'

考生需要模拟实现一个简单的自动售货系统,实现投币、购买商品、退币、查询库存商品及存钱盒信息的功能。
系统初始化时自动售货机中商品为6种商品, 商品的单价自定义,存钱盒内放置1元、2元、5元、10元钱币,商品数量和钱币张数通过初始化命令设置。
商品:每种商品包含商品名称、单价、数量三种属性,其中商品名不重复。不能修改商品名称和单价,初始化命令设置商品数量。

#!/usr/bin/env python
#coding:utf-8
shangpin={'sp1': {'mc': '可乐', 'dj': '2', 'sl': 0},
          'sp2': {'mc': '雪碧', 'dj': '3', 'sl': 0},
          'sp3': {'mc': '芬达', 'dj': '4', 'sl': 0},
          'sp4': {'mc': '脉动', 'dj': '5', 'sl': 0},
          'sp5': {'mc': '红牛', 'dj': '6', 'sl': 0},
          'sp6': {'mc': '牛奶', 'dj': '10', 'sl': 0},}



def chushihua():
    print '初始化...'
    sp01 = input("商品1准备数量:")
    shangpin ['sp1']['sl'] = sp01
    print '%s准备了%d' %(shangpin['sp1']['mc'], sp01)

    sp02 = input("商品2准备数量:")
    shangpin['sp2']['sl'] = sp02
    print '%s准备了%d' % (shangpin['sp2']['mc'], sp02)

    sp03 = input("商品3准备数量:")
    shangpin['sp3']['sl'] = sp03
    print '%s准备了%d' % (shangpin['sp3']['mc'], sp03)

    sp04 = input("商品4准备数量:")
    shangpin['sp4']['sl'] = sp04
    print '%s准备了%d' % (shangpin['sp4']['mc'], sp04)

    sp05 = input("商品5准备数量:")
    shangpin['sp5']['sl'] = sp05
    print '%s准备了%d' % (shangpin['sp5']['mc'], sp05)

    sp06 = input("商品6准备数量:")
    shangpin['sp6']['sl'] = sp06
    print '%s准备了%d' % (shangpin['sp6']['mc'], sp06)

def chaxunkucun():
    print '当前商品:%s数量:%s价格:%s' % (shangpin['sp1']['mc'], shangpin['sp1']['sl'], shangpin['sp1']['dj'])
    print '当前商品:%s数量:%s价格:%s' % (shangpin['sp2']['mc'], shangpin['sp2']['sl'], shangpin['sp2']['dj'])
    print '当前商品:%s数量:%s价格:%s' % (shangpin['sp3']['mc'], shangpin['sp3']['sl'], shangpin['sp3']['dj'])
    print '当前商品:%s数量:%s价格:%s' % (shangpin['sp4']['mc'], shangpin['sp4']['sl'], shangpin['sp4']['dj'])
    print '当前商品:%s数量:%s价格:%s' % (shangpin['sp5']['mc'], shangpin['sp5']['sl'], shangpin['sp5']['dj'])
    print '当前商品:%s数量:%s价格:%s' % (shangpin['sp6']['mc'], shangpin['sp6']['sl'], shangpin['sp6']['dj'])

def goumai():
    cc="""
    1.可乐
    2.雪碧
    3.芬达
    4.脉动
    5.红牛
    6.牛奶
    7.退出
    输入你要购买的商品数字:"""
    while 1:
        sz=raw_input(cc)
        if sz == '1':
            print "当前商品库存为%s"   %(shangpin['sp1']['sl'])
            while 1:
                sl=shangpin['sp1']['sl']
                if sl != 0:
                    print '%s 单价%s元 请投币' %(shangpin['sp1']['mc'],shangpin['sp1']['dj'])
                    tb = input(':')
                    print "投币%d元 " %(tb)
                    if tb >= 2:
                        zhaoling = tb - int(shangpin['sp1']['dj'])
                        print "找零%d元  购买%s成功" % (zhaoling,shangpin['sp1']['mc'])
                        sy =shangpin['sp1']['sl'] - 1
                        print "%s剩余库存为%d"   %(shangpin['sp1']['mc'],sy)
                        shangpin['sp1']['sl'] = sy
                        break
                    else:
                        print "余额不足!继续投币"
                        tb2=input(':')
                        zj2=tb+tb2
                        print '投币%d元' %(zj2)
                        if zj2>=2:
                            print '购买%s成功'  %(shangpin['sp1']['mc'])
                            sy = int(shangpin['sp1']['sl']) - 1
                            print "%s剩余库存为%d" % (shangpin['sp1']['mc'], sy)
                else:
                    print "库存不足,请选择其他商品"
                    break


        elif sz == '2':
            pass
        elif sz == '3':
            pass
        elif sz == '4':
            pass
        elif sz == '5':
            pass
        elif sz == '6':
            pass
        elif sz == '7':
            break
        else:
            print "输入错误"






def main():
    bb ="""
    1.购买商品
    2.查询库存及价格
    3.退出
    输入你的选择:"""
    while 1:
        gongneng=raw_input(bb)
        if gongneng == '1':
            goumai()
        elif gongneng == '2':
            chaxunkucun()
        else:
            exit()
chushihua()
main()
  1. ATM
    ATM柜员机管理系统
    实现功能:
    1.当用户在登陆界面输入卡号和密码能登陆;
    2.实现开户功能;
    3.与机器交互实现取款, 存款, 转账, 查询余额,
    冻结账户, 修改密码等功能;
#!/usr/bin/env python
#coding:utf-8
d={0:{'passwd':0 , 'money':0, 'state': 0}}
def kaihu():
    while 1:
        kh=input('输入你想要的开户帐号:')
        if kh not in d:
            name = kh
            mm=input('输入你想要的密码:')
            passwd = mm
            money1 = input('请输入存款:')
            money = money1
            state = 0
            d.update({name:{'passwd': passwd, 'money': money, 'state': state}})
            print '恭喜你,开户成功!开户帐号为 %d ' %(name)
            break
        else:
            print '此帐号已存在!请重新输入!'


def denglu():
     global kh
     while 1:
        kh=input('输入卡号:')
        if kh not in d :
            print '没有此帐号请重新输入!'
        else:
            mm=input('请输入密码:')
            if mm == d[kh]['passwd']:
                print '登陆成功!'

                zicaidan()
            else:
                pass


def qukuan():
    print '当前余额为%.2d' %(d[kh]['money'])
    qk = input('请输入取款金额:')
    if qk > d[kh]['money']:
        print '余额不足请重新剩输入'
    else:
        a = d[kh]['money'] - qk
        print '取款成功,剩余余额为%.2d' %(a)
        d[kh]['money'] = a

def cunkuan():
    ck = input('请输入存款金额:')
    ck1 = ck + d[kh]['money']
    print '存款成功,当前余额为%.2d' % (ck1)
    d[kh]['money'] = ck1

def zhuanzhuang():
    dfkh = input('请输入对方卡号:')
    zz = input('输入转账金额:')
    print '转账成功'
    d[kh]['money'] = d[kh]['money'] - zz
    print '余额为%d' % (d[kh]['money'])

def xiugaimima():
    mm = input('请先输入旧密码:')
    if mm == d[kh]['passwd']:
        xmm = input('输入新密码')
        xmm = d[kh]['passwd']
        print '密码跟改成功!'
    else:
        print '密码错误'

def chaxunyue():
    print '当前余额为%.2d' %(d[kh]['money'])

def zicaidan():
   while 1:
        caidan="""
        1.取款        
        2.存款        
        3.转账
        4.查询余额
        5.修改密码
        6.退出
        请选择的:"""
        xz = input(caidan)
        if xz == 1:
            qukuan()
        elif xz == 2:
            cunkuan()
        elif xz == 3:
            zhuanzhuang()
        elif xz == 4:
            chaxunyue()
        elif xz == 5:
            xiugaimima()
        else:
            exit()



def main():
    while 1:
        zhu="""
            1.开户
            2.登陆
            3.退出
            请选择:"""
        xz = input(zhu)
        if xz == 1:
            kaihu()
        elif xz == 2:
            denglu()
        elif xz == 3:
            exit()
        else:
            print '输入错误!'
main()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值