http://outofmemory.cn/python/video/let-us-python/ python为程序员服务

 快来加入群【python爬虫交流群】(群号570070796),发现精彩内容。
一下三个模块完美的实现了模块之间的参数传递。
1、将编写好的代码设置成模块
2、设置成模块之后还存在一些导入模块之后,怎么时候执行,怎么执行的问题
这个问题使用如下代码解决。  
if __name__=='__main__'#如果程序是主函数自己执行的,(意思就是该函数不是被别人import(被调用)执行的),那么久执行shop()函数,你就可以先导入到你的当前代码中,导入的方法为(import _shopping),此时导入进来的模块将不会执行shop(),你需要调用执行的时候,你只需输入(  _shopping.shop()  )代码,即可调用执行。
_shopping.shop()
else:                        
shop()
if __name__=='__main__':
bank.bank(gouwuche,shopping_userlogin,shangpinname)
else:
bank(None,None,None)
3、模块之间的参数如何传递系列的问题会呈现出来;

def bank(gouwuche,shopping_userlogin,shangpinname):

5、如何将传递的参数写入日志,并且查询:
        使用pickle或者是json,
 
main模块

#coding=utf-8
import sys
import _shopping
import bank
print (u'购物请按1,银行业务请按2,退出请按任意键:')
choise=raw_input(u'------->>>').strip()
if choise=='1':
_shopping.shop()
elif choise=='2':
bank.bank(None,None,None)
else:
print (u'您选择了退出操作,欢迎再次来到彼岸:')
sys.exit()

shopping模块
#coding=utf-8
#__author__ = 'Administrator'
import bank
def shop():
import sys,pickle,time
user={'haha':'123',
'huaqiangu':'123',
'baizihua':'123',
'123':'123',
'321':'123'
}
gouwuche=[]
shangpinname={'iphon6':4980,'xiaomi':999,'huawei':2999,'chongdianbao':59,'shujuxian':15}
count=0
def look_gouwuche():
print u'----------已购买的商品为----------:'
for k in gouwuche:
print '----------|',k,':',gouwuche[k],'|----------'
def after_choise():
chose11=raw_input(u'立即购买请按1,加入购物车请按2:')
if chose11=='1':
print 'tiao zhuan dao yinhang!'
def dump_shoppinguser():
f=open('H:\\Python\\shopping_bank\\shopping_user.txt','w')
pickle.dump(user,f)
f.close()
def load_shoppinguser():
f=open('H:\\Python\\shopping_bank\\shopping_user.txt')
a=pickle.load(f)
print a
f.close()
def add_gouwuche(dict,gouwuche):
a=0
for i in gouwuche:
a=a+dict[i]
return a
def display_gouwuche(dict,gouwuche):
print '-----------------------------------'
for huo in gouwuche:
print '----|',huo,':',dict[huo]
print '-----------------------------------'
def del_gouwuche(dict,gouwuche):
while True:
if len(gouwuche)!=0:
print (u'购物车列表为:')
display_gouwuche(dict,gouwuche)
print u'总额为:',add_gouwuche(dict,gouwuche)
del_name=raw_input(u'请输入要删除的商品名称:').strip()
for i in gouwuche:
if i==del_name:
gouwuche.remove(del_name)
print u'删除成功!'
print '----------------------------------------------------'
print u'剩余商品为:',display_gouwuche(shangpinname,gouwuche)
print u'总额为',add_gouwuche(shangpinname,gouwuche)
print '----------------------------------------------------'
break
choise=raw_input(u'继续删除商品请按1,结算请按2,继续购物请按3,退出请按任意键').strip()
if choise=='1':
continue
elif choise=='2':
goto_bank(gouwuche,shopping_userlogin,shangpinname)
break
elif choise=='3':
break
else:
sys.exit()
else:
print (u'购物车为空:')
break
def shopping_loger(shopping_user,gouwuche,accountdict,payaccount,money,number):
f=open('H:\\Python\\shopping_bank\\shopping_loger.txt','a')
for name in gouwuche:
msg='%s %s %s %s %s %s %s %s' %(time.ctime(),shopping_user,payaccount,accountdict[payaccount][1],gouwuche[name],money,'shouxufei',number)
f.write(msg+'\n')
f.close()
def goto_bank(gouwuche,shopping_user,shangpingname):
bank.bank(gouwuche,shopping_user,shangpingname)
while True:
haha=''
f=open('H:\\Python\\shopping_bank\\shopping_user.txt')
a=pickle.load(f)
f.close()
print (u'--------------欢迎来到彼岸商城,祝您购物愉快!!!-------')
shopping_userlogin=raw_input(u'————输入账号:').strip()
# print u'再次判断',a
if a.has_key(shopping_userlogin):
f=open('H:\\Python\\shopping_bank\\lock_user.txt')
for name in f.xreadlines():
name=name.strip().split()
if name[0]==shopping_userlogin:
print (u'您的账号已经被锁定,请及时联系华神!')
haha='yi_suo_zhu'
break
f.close()
if haha=='yi_suo_zhu': #如果账户已锁定返回主界面
continue
else:pass
password=raw_input(u'请输入密码:').strip()
if password==a[shopping_userlogin]:
print (u'---登入成功,祝您购物愉快!---')
print '----------------------------------------------------'
for huo in shangpinname:
print '--------|',huo,':',shangpinname[huo],'-------'
print '----------------------------------------------------'
while True:
commodity_name=raw_input(u'_---继续购买请输入商品名称,查看购物车并做其他操作请按任意键:').strip()
if shangpinname.has_key(commodity_name):
chose11=raw_input(u'立即购买请按1,加入购物车请按2,查看购物车请按3:').strip()
if chose11=='1':
gouwuche.append(commodity_name)
goto_bank(gouwuche,shopping_userlogin,shangpinname)
elif chose11=='2': #加入购物车
gouwuche.append(commodity_name)
print (u'添加购物车成功!')
display_gouwuche(shangpinname,gouwuche)
elif chose11=='3':
display_gouwuche(shangpinname,gouwuche)
choise3=raw_input(u'立即购买请按1,删除购物车商品请按2:').strip()
if choise3=='1':
goto_bank(gouwuche,shopping_userlogin,shangpinname)
if choise3=='2':
del_gouwuche(shangpinname,gouwuche)
else:
print (u"输入错误,退回主界面!")
else:
print (u'选项错误!')
else:
display_gouwuche(shangpinname,gouwuche)
choise=raw_input(u'立即购买请按1,删除购物车商品请按2,返回上一级请按任意键:').strip()
if choise=='1':
goto_bank(gouwuche,shopping_userlogin,shangpinname)
if choise=='2':
del_gouwuche(shangpinname,gouwuche)
else:
print (u"输入错误,退回主界面!")
else:
if count<=2:
count+=1
print u'密码错误!---温馨提示:还有%d次输入不正确账户将被锁定。'%(3-count)
continue
elif count==2:
print u'您的账户已经被锁定:'
f=open('H:\\Python\\shopping_bank\\lock_user.txt','a')
f.write(userlogin+'\n')
f.close()
print u'三次登入失败,您的账户已经被锁定!'
continue
else:
print(u'用户未注册!')
choise=raw_input(u'用户注册请按1,继续请按任意键:')
print 'haha'
if __name__=='__main__':
_shopping.shop()
else:
shop()

银行ATM机模块

#coding=utf-8
#__author__ = 'Administrator'
import _shopping
def bank(gouwuche,shopping_userlogin,shangpinname):
import time
import pickle,sys
from getpass import getpass
def find(dict,userlogin):
print (u'''-------------------------------------------------
用户名:%s
余 额:%d'''%(dict[userlogin][1],dict[userlogin][0]))
choise=raw_input(u'请输入查找的年月如(2015Jun)将会查询2015年六月所有相关的账户日志:').strip()
if len(choise)==len('2015Jun'):
choise0=choise[:4]
choise1=choise[4:]
print choise0,':',choise1
f=open('H:\\Python\\shopping_bank\\bank_loger.txt','r')
for line in f.xreadlines():
line=line.strip().split()
if line[5]==userlogin and line[4]==choise0 and line[1]==choise1:
print '--|',line[4],line[1],line[2],line[0],line[3],u'您的操作类型为:',line[5:],'|--'
else:print (u'查无此日志,请输入其他年份和月份!')
f.close()
def come_or_out(choise0):
while True:
if choise0=='1':
sys.exit()
elif choise0=='2':
break
else:
print (u'输入错误,请重新输入!')
break
def come_or_out7(choise0):
while True:
if choise0=='1':
sys.exit()
elif choise0=='2':
break
elif choise0=='3':
_shopping.shop()
else:
print (u'输入错误,请重新输入!')
break
def panduan_zhuanghu(username,):
f=open('H:\\Python\\shopping_bank\\lock_account.txt','r')
for i in f.xreadlines():
i=i.strip().split()
if username==i[0]:
print (u'账户已经被锁定,请赶紧拨打15595569905请 幻神 吃饭去,记得一定要吃好的!')
sys.exit()
def panduan_input(money):
while True:
try:
money=int(raw_input(u'请输入金额:'))
break
except ValueError:
print (u'请输入一个数字!')
def take(dict,userlogin):
while True:
try:
money=int(raw_input(u'请输入金额:').strip())
break
except ValueError:
print (u'请输入一个数字!')
if money>dict[userlogin][0]:
print (u'账户余额不足!')
elif money<=dict[userlogin][0]:
dict[userlogin][0]=dict[userlogin][0]-(money+money*0.05)
f=open('H:\\Python\\shopping_bank\\userlist.txt','wb')
pickle.dump(dict,f)
f.close()
bank_loger(userlogin,dict[userlogin][1],'Take',money,money*0.05,'1')
print u'钞票太多,正在为您使劲吐出钞票..、。。。.................\n-------取款成功。'
def save(dict,uselogin):
while True:
try:
money=int(raw_input(u'存取的金额为:'))
break
except ValueError:
print (u'输入错误,请输入数字')
dict[userlogin][0]=dict[userlogin][0]+money
f=open('H:\\Python\\shopping_bank\\userlist.txt','wb')
pickle.dump(dict,f)
f.close()
bank_loger(userlogin,dict[userlogin][1],'save',money,'0','1')
print (u'存款成功')
def repayment(dict,userlogin):
while True:
try:
money=int(raw_input(u'请输入金额:'))
break
except ValueError:
print (u'请输入一个数字!')
bank_loger(userlogin,dict[userlogin][1],'repament',money,'0','1')
print (u'还款成功!')
def transfer(dict,userlogin):
while True:
another_account=raw_input(u'请输入对方账号:').strip()
retype=raw_input(u'请再输入一次:')
if another_account==retype:
if dict.has_key(retype):
print (u'要转入的账号名称为:%s'%dict[retype][1])
choise1=raw_input(u'继续请按1,返回请按任意键:').strip()
if choise1=='1':
while True:
try:
tran=int(raw_input(u'请输入转账金额:'))
break
except ValueError:
print (u'输入错误!请输入数字!')
if tran<=dict[userlogin][0]:
dict[userlogin][0]=dict[userlogin][0]-(tran+tran*0.05)
dict[retype][0]=tran+dict[retype][0]
f=open('H:\\Python\\shopping_bank\\userlist.txt','wb')
pickle.dump(dict,f)
f.close()
bank_loger(userlogin,dict[userlogin][1],'transfer_to_%s'%retype,tran,(tran*0.05),'1')
bank_loger(retype,dict[retype][1],'transfer_form_%s'%userlogin,tran,'0','1')
print (u'转账成功!手续费刚刚为%f元哦!'%(tran*0.05))
break
else:
print (u'账户余额不足!')
break
else:
break
else:
print(u'查无此账户!一般情况下我是不会出现的,看来这回情况不一般呀!')
break
else:
print u'两次账号不相同,请重新输入!'
continue
def bank_loger(account,accountname,tran_type,amount,shouxufei,number):
f=open('H:\\Python\\shopping_bank\\bank_loger.txt','a')
msg='%s %s %s %s %s %s %s' %(time.ctime(),account,accountname,tran_type,amount,shouxufei,number)
f.write(msg+'\n')
f.close()
# bank.bank(gouwuche,shopping_userlogin,shangpinname)
def shopping_loger(shopping_user,gouwuche,accountdict,payaccount,money,number):
f=open('H:\\Python\\shopping_bank\\shopping_loger.txt','a')
for name in gouwuche:
msg='%s %s %s %s %s %s %s %s' %(time.ctime(),shopping_user,payaccount,accountdict[payaccount][1],gouwuche[name],money,'shouxufei',number)
f.write(msg+'\n')
f.close()
def display_gouwuche(dict,gouwuche):
print '-----------------------------------'
for huo in gouwuche:
print '----|',huo,':',dict[huo]
print '-----------------------------------'
def add_gouwuche(dict,gouwuche):
a=0
for i in gouwuche:
a=a+dict[i]
return a
def buy(shangpinname,gouwuche,account_dict,userlogin,shopping_userlogin):
a=add_gouwuche(shangpinname,gouwuche)
account_dict[userlogin][0]=account_dict[userlogin][0]-a
f=open('H:\\Python\\shopping_bank\\userlist.txt','wb')
pickle.dump(account_dict,f)
f.close()
for i in gouwuche:
bank_loger(userlogin,account_dict[userlogin][1],'shopping_%s'%i,shangpinname[i],shopping_userlogin,'1')
print (u'购买成功!') def goto_pay(shopping_userlogin,shangpinname,gouwuche,account_dict,account_login):
if len(gouwuche)!=0:
print u'-----------------购物车中的商品为:'
display_gouwuche(shangpinname,gouwuche)
print u'总金额为:',add_gouwuche(shangpinname,gouwuche)
choise=raw_input(u'购买请按1,退出请按任意键:').strip()
if choise=='1':
buy(shangpinname,gouwuche,account_dict,userlogin,shopping_userlogin)
else:
sys.exit()
else:
print u'购物车为空!'
while True:
f=open('H:\\Python\\shopping_bank\\userlist.txt')
a=pickle.load(f)
print a
f.close()
print u'----------------欢迎使用华神ATM机!-----------------'
userlogin=raw_input(u'-----请输入如账户名:').strip()
if a.has_key(userlogin):
panduan_zhuanghu(userlogin) #判断用户是否被锁定
count=0
while True:
f=open('H:\\Python\\shopping_bank\\userlist.txt')
a=pickle.load(f)
f.close()
password=raw_input(u'--------请输入密码:').strip()
if a[userlogin][2]==password:
print 'username is ',a[userlogin][1]
pass
else:
count+=1
if count<3:
print u'密码错误!温馨提示,还有%d次输入不正确账户将被锁定。'%(3-count)
else:
f=open('H:\\Python\\shopping_bank\\lock_account.txt','a')
f.write(userlogin+'\n')
f.close()
print (u'账户%s已被锁定'%userlogin)
sys.exit()
while True:
bank_choise=raw_input(u'''----------------请选择您要操作的业务----------------------
1、取现 2、查询 3、还款 4、转账 5、存款 6、退出 7、购物支付
----------------------------------------------------------
>>>:''').strip()
if bank_choise=='1':
take(a,userlogin)
come_orout=raw_input(u'退出请按1,返回上一级请按2:').strip()
come_or_out(come_orout)
elif bank_choise=='2':
find(a,userlogin)
come_orout=raw_input(u'退出请按1,返回上一级请按2:').strip()
come_or_out(come_orout)
elif bank_choise=='3':
repayment(a,userlogin)
come_orout=raw_input(u'退出请按1,返回上一级请按2:').strip()
come_or_out(come_orout)
elif bank_choise=='4':
transfer(a,userlogin)
come_orout=raw_input(u'退出请按1,返回上一级请按2:').strip()
come_or_out(come_orout)
elif bank_choise=='5':
save(a,userlogin)
come_orout=raw_input(u'退出请按1,返回上一级请按2:').strip()
come_or_out(come_orout)
elif bank_choise=='6':
sys.exit()
elif bank_choise=='7':
print u'彼岸商城登入的账户为:%s'%shopping_userlogin
goto_pay(shopping_userlogin,shangpinname,gouwuche,a,userlogin)
come_orout=raw_input(u'退出请按1,返回上一级请按2,购物请按3:').strip()
come_or_out7(come_orout)
else:
print (u'输入错误,本次操作即将退出!')
sys.exit()
if __name__=='__main__':
bank.bank(gouwuche,shopping_userlogin,shangpinname)
else:
bank(None,None,None)

模块购物商城和ATM机代码:的更多相关文章

  1. 模拟实现ATM与购物商城

    一.功能介绍(第6条未实现)模拟实现一个ATM + 购物商城程序1额度15000或自定义2实现购物商城,买东西加入购物车,调用信用卡接口结账3可以提现,手续费5%4支持多账户登录5支持账户间转账6记录 ...

  2. ATM+购物商城

    知识内容: 1.luffy买tesla 2.ATM+购物商城 一.luffy买tesla 需求: 1.目录结构说明 account luffy.json --> 存储用户账户信息 {" ...

  3. 2.2 - ATM+购物商城程序

    要求:模拟实现一个ATM + 购物商城程序1.额度 15000或自定义2.实现购物商城,买东西加入 购物车,调用信用卡接口结账3.可以提现,手续费5%4.支持多账户登录5.支持账户间转账6.记录每月日 ...

  4. ATM:模拟实现一个ATM + 购物商城程序

    额度 15000或自定义 实现购物商城,买东西加入 购物车,调用信用卡接口结账 可以提现,手续费5% 支持多账户登录 支持账户间转账 记录每月日常消费流水 提供还款接口 ATM记录操作日志 提供管理接 ...

  5. First Project -用函数写的ATM+购物商城程序

    作业需求:模拟实现一个ATM + 购物商城程序 额度15000或自定义 实现购物商城,买东西加入 购物车,调用信用卡接口结账 可以提现,手续费5% 每月22号出账单,每月10号为还款日,过期未还,按欠 ...

  6. Python实现ATM+购物商城

    需求: 模拟实现一个ATM + 购物商城程序 额度 15000或自定义 实现购物商城,买东西加入 购物车,调用信用卡接口结账 可以提现,手续费5% 每月22号出账单,每月10号为还款日,过期未还,按欠 ...

  7. Python学习笔记-练习编写ATM+购物车(购物商城)

    作业需求: 模拟实现一个ATM + 购物商城程序: 1.额度 15000或自定义 2.实现购物商城,买东西加入 购物车,调用信用卡接口结账 3.可以提现,手续费5% 4.支持多账户登录 5.支持账户间 ...

  8. 项目1:ATM+购物商城项目

    项目1:ATM+购物商城 1.项目介绍 项目需求: # 项目需求如下:'''- 额度 15000或自定义​- 实现购物商城,买东西加入购物车,调用信用卡接口结账​- 可以提现,手续费5%​- 支持多账 ...

  9. Day5作业,商城+ATM机+后台管理

    晚来了....东西太多,需要写的blog内容太多,re讲的渣渣,不明白为什么oldboy经常换老师,吐槽下吧,真心不爱了.... github地址在这:https://github.com/ccorz ...

随机推荐

  1. 04 body中的相关标签

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. never下的easysql

    什么是EasySql 在我们早期写的代码中,想实现组装灵活的sql语句与参数,我们可以去翻阅早期自己写的代码 var @sb = new StringBuilder(); sb.Append(&quo ...

  3. Spring-Boot + MyBatis-Plus 踩坑记录

    这两天在学SpringBoot+MyBatis的开发,配置开发环境和DEMO的过程中踩了很多坑,在这里记录一下. 我的开发环境是idea + JDK 1.8.0.211. 首先展示一下demo的项目整 ...

  4. 丢给你一个txt并同时获取你shell

    丢给你一个txt并同时获取你shell 0x00:回顾 <文本编辑器Vim/Neovim被曝任意代码执行漏洞> 听闻很多人知道这个漏洞,但是有一部分人能复现成功,一部分人复现不出来.这里我 ...

  5. 【Netty4】深入学习Netty

    Netty is an asynchronous event-driven network application framework  for rapid development of mainta ...

  6. CentOS 7编译安装Redis

    安装编译相关依赖 CentOS/Fedora yum install gcc gcc-c++ cmake tcl 下载Redis源码包 curl -o redis-4.0.10.tar.gz http ...

  7. CentOS7搭建LNMP环境

    以前写的过时了,重新发一篇新的. 安装PHP 下载官网:https://www.php.net/downloads.php 为了方便,我存了现成的 百度网盘:https://pan.baidu.com ...

  8. MyBatis从入门到精通(六):MyBatis动态Sql之if标签的用法

    最近在读刘增辉老师所著的<MyBatis从入门到精通>一书,很有收获,于是将自己学习的过程以博客形式输出,如有错误,欢迎指正,如帮助到你,不胜荣幸! 本篇博客主要讲解如何使用if标签生成动 ...

  9. python基本数据类型之数字类型和其相关运算

    数字(number) Python3 支持 int.float.bool.complex(复数). 在Python 3里,只有一种整数类型 int,表示为长整型,没有 python2 中的 Long. ...

  10. 【名额有限】云开发AI拓展能力等你来体验!

    这次来了个超厉害的新能力! 人脸智能打马赛克.人脸智能裁剪--各种操作,都能一步到位! 迫不及待想体验,戳链接:https://wj.qq.com/s2/3986990/e0ef/ 还没有搞懂,继续往 ...