博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
record-09 ATM 过程思想 综合练习
阅读量:6981 次
发布时间:2019-06-27

本文共 3694 字,大约阅读时间需要 12 分钟。

#__author: hasee#date:  2018/1/16# user_info.txt包含内容:# zhangsan1 123456 3500# zhangsan2 123456 4000# zhangsan3 123456 4500# zhangsan4 123456 5000# zhangsan5 123456 5500# zhangsan6 123456 6000# zhangsan7 123456 6500# zhangsan8 123456 7000# zhangsan9 123456 7500

 

f = open('c:\\user_info.txt')user_info = f.readlines()print(user_info)f.close()user = []result = 0while result != 1:    # 1、程序提示用户输入账号    print("请输入账号:")    # 2、用户输入账号    # 3、程序接收用户的输入    name = input()    # 4、程序提示用户输入密码    print("请输入密码:")    # 5、用户输入密码    # 6、程序接收用户的输入    password = input()    # 7、程序对已经接收到的账号、密码进行校验    # 7.1 程序先从文件中读取有效的账号、密码信息    # 7.2 将接收到用户输入与文件中读出来的信息进行比较    # 7.3 如果用户输入与文件一致,则有效,不一致则给出相应提示    for w, u in enumerate(user_info):        # print("***********************")        # print(u)        u1 = u.split()        if u1[0] == name and u1[1] == password:            result = 1            user = u1            break        elif u1[0] == name and u1[1] != password:            result = 2            break        else:            result = 3            # print("***********************")

为什么不用上面图片的形式,是因为for w,u in enumerate(user_info)每次都会循环一次,显示结果为:

所以将结果标记为不同的数字,对应不同的状态,在结果外输出

 

if result == 1:        print('登陆成功')    elif result == 2:        print('密码不正确')    else:        print('账号不存在')while True:    # 1、在登陆成功后,提示用户选择服务    print("请选择服务类型:1-查询余额 2-取款 3-转账 0-退出")    # 2、用户输入选择的服务选项    # 3、程序接收用户的输入    choice = input()    # 4、程序判断用户选择的服务类型    # 5、如果用户选择1,程序则显示当前账户的余额    if choice == '1':        print('当前账户余额:%s' % user[2])    # 6、如果用户选择2,程序提示用户输入取款金额,并完成后续的取款处理    if choice == '2':        print("请输入取款金额")        money = int(input())        if money % 50 != 0:            print('金额不合法')        elif money > 1000:            print('不能超过单笔限额')        elif money > int(user[2]):            print('余额不足')        else:            print('金额合法,开始进行取款处理')            user[2] = str(int(user[2]) - money)            user_info[w] = ' '.join(user) + '\n'            print(user_info)            f = open('c:\\user_info.txt', 'w')            f.writelines(user_info)            f.close()            print('当前账户余额:%s' % user[2])    # 7、如果用户选择3,程序提示输入收款账号、转账金额,并完成后续的转账处理    if choice == '3':        # 7.1 程序提示用户输入收款账号        print('请输入收款账号:')        # 7.2 程序接收用户的输入        name2 = input()        # 7.3 判断收款账号是否有效        result2 = 0        for w2, u in enumerate(user_info):            u2 = u.split()            if u2[0] == name2:                user2 = u2                result2 = 1                break        if result2 == 1:            print('收款账号合法')            # 7.4 如果账号有效,提示用户输入转账金额            print('请输入转账金额:')            # 7.5 程序接收用户的输入            money2 = int(input())            # 7.6 程序进行转账金额校验            if money2 > 2000:                print('超过转账单笔限额')            elif money > int(user[2]):                print('余额不足')            else:                print('金额有效,开始进行转账交易')                # 7.7 如果金额合法,进行转账交易处理                user[2] = str(int(user[2]) - money2)                user_info[w] = ' '.join(user) + '\n'                user2[2] = str(int(user2[2]) + money2)                user_info[w2] = ' '.join(user2) + '\n'                print(user_info)                f = open('c:\\user_info.txt', 'w')                f.writelines(user_info)                f.close()        else:            print('收款账号无效')    # 8、如果用户选择0,程序终止执行    if choice == '0':        break 辅助理解:
name='my name is ganhaiyan' a=name.split()  #将字符串转为列表 a[0]='her'      #通过索引更改值 print(a) b=' '.join(a)    #将列表a转为字符串 ,此时的字符串已经不是之前的字符串 print(b) a =['a','b','c',12,12.3,True] for y,i in enumerate(a):    #enumetate表示索引,a表示列表序列     print(y,i) print(a[1])  #为b   #序列进行索引可以找出对应的i值

  

转载于:https://www.cnblogs.com/minkillmax/p/8298792.html

你可能感兴趣的文章
MDT2012部署问题,MDT中的驱动是如何工作的
查看>>
Selenium 使用要点记录<二>
查看>>
Windows与Linux系统拷贝文件之pscp的使用
查看>>
_xmlXPathNewContext", referenced from
查看>>
Netty3之ServerBootstrap分析
查看>>
小木木的Python学习笔记
查看>>
用SQL语句添加删除修改字段
查看>>
运维少年系列 python and cisco (1)
查看>>
c#时间转换
查看>>
调度器Quartz的简述与使用总结
查看>>
smokeping 安装
查看>>
Linux下安装oracle数据库步骤
查看>>
yum 不小心删除后安装
查看>>
vim 使用
查看>>
为敏感信息设置安全屏障
查看>>
mysql fabric安装使用测试
查看>>
java 对 mongoDB 分组统计操作 以及一些常用操作
查看>>
当你扛不住的时候就读读
查看>>
解决安装rrdtool遇到的一个问题
查看>>
linux启动过程
查看>>