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

相关文章
|
8月前
|
JSON 文件存储 数据库
python之ATM 的详细讲解
python之ATM 的详细讲解
84 0
|
Python
Python实现因子分析(附案例实战)
Python实现因子分析(附案例实战)
1935 0
Python实现因子分析(附案例实战)
Python print() 打印两个 list ,实现中间换行
Python print() 打印两个 list ,实现中间换行
|
算法 大数据 Python
Leedcode 每日一练 搜索二维矩阵Ⅰ Python实现
Leedcode 每日一练 搜索二维矩阵Ⅰ Python实现
171 2
Leedcode 每日一练 搜索二维矩阵Ⅰ Python实现
|
机器学习/深度学习 算法 Python
利用python实现逻辑回归(以鸢尾花数据为例)
利用python实现逻辑回归(以鸢尾花数据为例)
295 0
利用python实现逻辑回归(以鸢尾花数据为例)
|
存储 数据安全/隐私保护 计算机视觉
python 实现pacs功能 推送下拉影像
python 实现dcmtk关联pacs功能 推送下拉影像
308 0
python 实现pacs功能 推送下拉影像
|
前端开发 Python
Leecode加法题目3个 每日练习 Python实现
Leecode加法题目3个 每日练习 Python实现
122 0
Leecode加法题目3个 每日练习 Python实现
|
iOS开发 Python
Python实现微信消息连续发送
Python实现微信消息连续发送
python实现微信小游戏“飞机大战”
python实现微信小游戏“飞机大战”
python实现微信小游戏“飞机大战”
|
机器学习/深度学习 算法 数据可视化
Python实现聚类分析和数据降维
Python实现聚类分析和数据降维
941 0
Python实现聚类分析和数据降维