设为首页 加入收藏

TOP

Python写的ATM小程序(一)
2014-11-23 20:11:03 来源: 作者: 【 】 浏览:56
Tags: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 sys


from menu import menu_show



while True:


user = str(raw_input("\033[1;32;40mPlease input your name:\033[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("\033[1;32;40mPlease input your password:\033[0m"))


if password != p:


print "\033[1;31;40mThe password is incorrect\033[0m"


continue


else:


print "\033[1;32;40myes let you in.\033[0m"


global money


money_total = 15000


while True:


print "\033[1;33;40mYou total money is: \033[0m",money_total


money_total = menu_show(user,money_total)


else:


print "\033[1;31;40mThe user is not vaild, please re-input:\033[0m"


continue


menu.py


#!/usr/bin/python



import sys


import os


from shopping import show_shopping_list


from printlist import print_list


from withdraw import with_draw


from 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 "\033[1;33;40mThank you for using ATM, Good bye!\033[0m"


sys.exit()


return money


shopping.py


#!/usr/bin/python



import sys


import 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 m


def 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 \n" %(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 l

首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇使用 Meteor 轻松开发实时网站 下一篇Linux线程-sysconf系统变量

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: