现在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()
- 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()