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

相关文章
Python print() 打印两个 list ,实现中间换行
Python print() 打印两个 list ,实现中间换行
|
Python
Python实现因子分析(附案例实战)
Python实现因子分析(附案例实战)
1084 0
Python实现因子分析(附案例实战)
|
JSON 区块链 数据格式
Python实现一个简单的区块链
本文介绍如何用Python实现一个简单的区块链。
488 0
|
存储 数据安全/隐私保护 计算机视觉
python 实现pacs功能 推送下拉影像
python 实现dcmtk关联pacs功能 推送下拉影像
231 0
python 实现pacs功能 推送下拉影像
|
算法 大数据 Python
Leedcode 每日一练 搜索二维矩阵Ⅰ Python实现
Leedcode 每日一练 搜索二维矩阵Ⅰ Python实现
125 2
Leedcode 每日一练 搜索二维矩阵Ⅰ Python实现
|
前端开发 Python
Leecode加法题目3个 每日练习 Python实现
Leecode加法题目3个 每日练习 Python实现
87 0
Leecode加法题目3个 每日练习 Python实现
|
iOS开发 Python
Python实现微信消息连续发送
Python实现微信消息连续发送
Python实现微信消息连续发送
python实现微信小游戏“飞机大战”
python实现微信小游戏“飞机大战”
python实现微信小游戏“飞机大战”
|
Python
Python分分钟实现图书管理系统(含代码)
Python分分钟实现图书管理系统(含代码)
287 0
|
JSON 算法 数据安全/隐私保护
Python:使用PyJWT实现JSON Web Tokens加密解密
Python:使用PyJWT实现JSON Web Tokens加密解密
251 0