python实现简易ATM

环境:python2.7

可以进一步完善


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
# -*- coding: utf-8 -*-
print  u "+========================================+"
print  u "+=============2017年7月20日==============+"
print  u "+==============作者:天道酬勤============+"
print  u "+========================================+"
user_name  =  "C:\Users\95112\Desktop\ATM\username"  #定义用户名和密码的位置
goods      =  "C:\Users\95112\Desktop\ATM\goods"   #定义商品列表的的位置
salary  =  0
 
#登录
def  login():
     global  a
     global  salary
     username = []
     password = []
     money   = []
     =  file (user_name)
     for  line  in  f.readlines():
         new_line  =  line.split()
         username.append( int (new_line[ 0 ]))
         password.append( int (new_line[ 1 ]))
         money.append( int (new_line[ 2 ])) 
     UserName  =  int ( raw_input ( "please input your username:" ))
     if  UserName  in  username:
         PassWord  =  int ( raw_input ( "please input your password:" ))
         username_passwd  =  password[username.index(UserName)]   #取出username相对应的密码
         salary  =  money[username.index(UserName)]   #取出账户中相对应的钱
         if  PassWord  = =  username_passwd:
             =  1  #登录成功的标志
             print  "Login successful"
             print  "You still have %s of the balance"  %  money
         else :
             =  0
             print  "password error"       
     else :
         =  0
         print  "your username error"
 
     return  a
     return  salary
 
#购物
def  shopping():
     global  salary
     products = []
     price = []
     shop_list =  []
 
     =  file (goods)
     for  line  in  f.readlines():
         new_line  =  line.split()
         products.append(new_line[ 0 ])
         price.append( int (new_line[ 1 ]))
     while  1 :
         print  u '请从以下商品中挑选一个或者几个购买:'
         print  products
         for  in  range ( 0 , len (products)):
             if  (salary> = price[i]):
                 print  products[i],price[i]
         print  "+---------------------------------+"
         print  u "输入exit可以退出购买"
         choice   =  raw_input ( "please choice a shop to buy:" )
         F_choice  =  choice.strip() #去除空格,格式化输出。
         #退出循环
         if  F_choice  = =  "exit" :
             break
         if  F_choice  in  products:
             product_price  =  price[products.index(F_choice)]  #取出产品价格
             print  "+---------------------------------+"
             print  u "你要购买的商品以及价格:" ,F_choice,product_price
             print  u "商品正在加入购物列表,请稍等"
             if  salary > product_price:
                 shop_list.append(F_choice)
                 salary  =  salary  -  product_price
                 print  "+---------------------------------+"
                 print  u "你已经成功购买了%s"  %  F_choice
                 print  u "你的余额还有:" , salary
                 print  u "你已经购买的商品有:" , shop_list
                 print  "+---------------------------------+"
             else :
                 pass
         else :
             print  u "你输入的商品不在商品列表里,请重新输入!"
     
     return  salary
 
#转账或者提现
def  Transfer_accounts():
     global  salary
     print  u "每次转账和提现收取百分之5的服务费."
     inputs  =  int ( raw_input ( "please input you should how much money:" ))
     SS  =  inputs * 0.05
     zong  =  inputs  +  SS
     if  ( salary < zong  or  salary < inputs):
         print  u "余额不足"
     else :
         salary  =  salary  -  zong
     print  "+------------------------------+"
     print  u "成功转账%s"  %  inputs
     print  u "扣除手续费%s"  %  SS
     print  "+------------------------------+"
     return  salary
 
#查询余额
def  check_the_balance():
     global  salary
     print  "+---------------------------+"
     print  u "你的金额还有%s"  %  salary
     print  "+---------------------------+"
 
#菜单
def  menu():
     print  u """Welcome to use ATM automatic teller machine
             If the machine failure please contact ATM\t """
     while  True :
         print  u "\t(1) 购物"
         print  u "\t(2) 转账"
         print  u "\t(3) 查询余额"
         print  u "\t(4) 退出"
         choices  =  raw_input ( "Please choices:" ).strip()
         if  len (choices)  = =  0 :
             continue
         if  choices  = =  '1' :
             shopping()
         elif  choices  = =  '2' :
             Transfer_accounts()
         elif  choices  = =  '3' :
             check_the_balance()
         else :
             print  "Please pay attention to the property security"
             exit()
 
 
if  __name__  = =  '__main__' :
     login()
     if  = =  1 :
         menu()
     else :
         pass

运行结果:

wKioL1lwNbPyBqEWAAA4Dt0ErQc872.png

wKiom1lwNbOirqIBAAAqfMfLYZ8181.png





wKioL1lvgfSCMn1oAAQF1aT1ixQ444.png



本文转自 天道酬勤VIP 51CTO博客,原文链接:http://blog.51cto.com/tdcqvip/1949266

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值