Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux / Python写的ATM小程序

准备好好学学Python了,要不快没饭吃了,这两个礼拜看了一些视频教程和书籍,遂拿这个ATM小程序练练手。文件结构:程序共有6个py文件和3个文本文件cashin.py  -- 还款模块
goods_list  -- 商品列表
login.py -- 主文件
menu.py -- 菜单模块
printlist.py  -- 记录打印模块
record_tran.txt  -- 用户操作记录
shopping.py -- 购买模块
user_list -- 用户列表
withdraw.py -- 提现模块源代码: login.py#!/usr/bin/python import sysfrom menu import menu_show while True:    user = str(raw_input("33[1;32;40mPlease input your name:33[0m"))    f = open("user_list","r+")    for line in f.readlines():        n = str(line.split()[0])        p = str(line.split()[1])        if user == n:            while True:                password = str(raw_input("33[1;32;40mPlease input your password:33[0m"))                if password != p:                    print "33[1;31;40mThe password is incorrect33[0m"                    continue                else:                    print "33[1;32;40myes let you in.33[0m"                    global money                    money_total = 15000                    while True:                        print "33[1;33;40mYou total money is: 33[0m",money_total                        money_total = menu_show(user,money_total)        else:            print "33[1;31;40mThe user is not vaild, please re-input:33[0m"            continue menu.py#!/usr/bin/python import sysimport osfrom shopping import show_shopping_listfrom printlist import print_listfrom withdraw import with_drawfrom cashin import cash_in def menu_show(n,mo):    print "Welcome %s, This is the ATM system:" %n    print "Select what you want to do:"    print " 1. Shopping"    print " 2. Withdraw"    print " 3. Cash in"    print " 4. Print list"    print " 5. Exit"    user_input = int(raw_input("Input 0 ~ 5 "))    global current_user    current_user = n    mo = menu_select(user_input,mo)    return mo def menu_select(input,money):    if input == 1:        money = show_shopping_list(current_user,money)    if input == 2:        money = with_draw(current_user,money)    if input == 3:        money = cash_in(current_user,money)    if input == 4:        print_list(current_user)    if input == 5:        print "33[1;33;40mThank you for using ATM, Good bye!33[0m"        sys.exit()    return moneyshopping.py#!/usr/bin/python import sysimport time def show_shopping_list(n,m):        #read the file to a dictionary    goods_dict={}    goods = open("goods_list","r+")    for line in goods.readlines():        key = line.split()[0]        value = line.split()[1]+" "+line.split()[2]        goods_dict[key] = value        #print the goods list    print "The current user is %s." %n    print goods_dict          #decrease the money    buy_number = int(raw_input("Please select which one you want to buy:"))    goods_name = goods_dict[`buy_number`].split()[0]    goods_value = int(goods_dict[`buy_number`].split()[1])        m = calculate(int(m),goods_value)        #record the log    shopping_file_write(n,goods_name,goods_value,0)        return mdef calculate(qian,pri):    new_qian = qian - pri    return new_qian    def shopping_file_write(user,name,price,fee):    tran_time=time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(time.time()))    spath = "record_tran.txt"    f = open(spath,"a")    f.write("%s|%s|%s|%d|%d  "  %(user,tran_time,name,price,fee))    f.close() withdraw.py#!/usr/bin/python import time #withdraw function def with_draw(n,m):    print "Hello %s, you account have %d RMB." %(n,m)    print "Attention: There are 5% fee per withdraw !"    draw = int(raw_input("Please input how much money you want to with draw:"))    m = m - draw * 1.05        #record to the log        withdraw_file_write(n,draw)        return m def withdraw_file_write(user,withdraw):    shouxufei = cash * 0.05    tran_time=time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(time.time()))    spath = "record_tran.txt"    f = open(spath,"a")    f.write("%s|%s|withdraw|%d|%d  " %(user,tran_time,withdraw,shouxufei))    f.close()cashin.py#!/usr/bin/pythonimport time#cash in functiondef cash_in(n,m):    print "Hello %s, your account have %d RMB now." %(n,m)    cash = int(raw_input("Please input how much money you want to save in :"))    m = m + cash    cashin_file_write(n,cash)    return m def cashin_file_write(user,cashin):    tran_time=time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(time.time()))    spath = "record_tran.txt"    f = open(spath,"a")    f.write("%s|%s|cashin|%d|0  "  %(user,tran_time,cashin))    f.close()printlist.py#!/usr/bin/python#select current user"s billdef print_list(n):    print "Hello %s, Here is your bill:" %n    print "Account|Date|Goods|Price|Fee"    spath1 = "./record_tran.txt"    f1 = open(spath1,"r")    for line in f1.readlines():        if line.split("|")[0] == n:            print lineuser_listuser1 123user2 456goods_list1  Car  2500002  Clothes 3993  Shoes  1994  Iphone5s 49995  Coffee 356  Foods    687  Bicycle 1688example of record_tran.txtuser1|2014-07-08 16:59:27|Iphone5s|4999|0 user2|2014-07-08 16:59:31|withdraw|1000|50 user1|2014-07-08 16:59:56|withdraw|500|25 user2|2014-07-09 14:38:33|cashin|3456|0 user2|2014-07-09 14:39:10|Coffee|35|0《Python核心编程 第二版》.(Wesley J. Chun ).[高清PDF中文版] http://www.linuxidc.com/Linux/2013-06/85425.htm《Python开发技术详解》.( 周伟,宗杰).[高清PDF扫描版+随书视频+代码] http://www.linuxidc.com/Linux/2013-11/92693.htmPython脚本获取Linux系统信息 http://www.linuxidc.com/Linux/2013-08/88531.htm在Ubuntu下用Python搭建桌面算法交易研究环境 http://www.linuxidc.com/Linux/2013-11/92534.htmPython 语言的发展简史 http://www.linuxidc.com/Linux/2014-09/107206.htmPython 的详细介绍:请点这里
Python 的下载地址:请点这里本文永久更新链接地址:http://www.linuxidc.com/Linux/2014-09/107274.htm