一、通过读取列表数据,写一个登录程序:
users=[ ['Amy', '123456'], ['Ann', '456789'], ['Sarah', '123456abc'] ]
1、登录,输入账号和密码,最多输入3次,3次还没有登录成功,提示次数超数
2、登录成功,提示:欢迎XXX登录,今日的日期是XXX,程序结束
3、账号和密码不能为空,要提示不能为空 ---字符串方法
4、账号和密码输入错误,提示错误,继续登录
5、输入的账号不存在,提示用户,算输错1次
编写程序题目分析:
代码如下:
import datetime users=[ ['Amy', '123456'], ['Ann', '456789'], ['Sarah', '123456abc'] ] usernames = [] passwords = [] for user in users: username,password = user usernames.append(username) passwords.append(password) # print(usernames) # print(passwords) for i in range(3): username = input('请输入用户名:') password = input('请输入登录密码:') if len(username) == 0 or password.strip() == '': # len() 长度为0 和 空字符串,效果是一样的 print('用户名或密码不能为空!') elif username not in usernames: print('用户名不存在') else: # index = usernames.index(username) # pwd = passwords[index] # if pwd == password: if [username,password] in users: print('欢迎%s登录,今天是%s! '%(username,datetime.datetime.today())) break else: print('用户名或密码错误!') else: print('错误次数过多!')
二、通过读取文件,进行注册用户以及用户登录
1、程序用户注册,账号和密码存在文件里面:
(1)最多输入3次
(2)输入账号和密码,确认密码,密码长度在6-12位之间(注:密码包含大小写字母,数字)
(3)输入为空要提示
(4)用户已经存在不能注册
(5)两次密码要输入一致
编写程序题目分析:
代码如下:
f = open('users.txt','a+',encoding='utf-8') f.seek(0) usernames = [] for line in f.readlines(): line = line.strip() # 防止文件里有空行 if line: username = line.split(',')[0] usernames.append(username) for i in range(3): username = input('username:').strip() password = input('password:').strip() cpassword = input('cpassword:').strip() if not username or not password or not cpassword: print('账号/密码不能为空!') elif len(password) <6 or len(password) >12: print('密码长度在6-12之间!') elif password != cpassword: print('两次输入的密码不一致!') else: l,u,d = False,False,False for p in password: if p.islower(): l = True elif p.isupper(): u = True elif p.isdigit(): d = True if not l or not u or not d : print('密码必包含大小写字母,和数字!') elif username in usernames: print('用户已存在!') else: f.write('%s,%s '%(username,password)) print('注册成功!') break else: print('错误次数过多!') f.close()
2、用户登录程序,账号和密码从文件里面取
(1)最多输入3次
(2)账号和密码的为空校验
(3)不存在要提示
(4)登录成功结束
编写程序题目分析:
代码如下:
f = open('users.txt',encoding='utf-8') users = {} for line in f.readlines(): line = line.strip() if line: username = line.split(',')[0] password = line.split(',')[1] users[username] = password for i in range(3): username = input('username:').strip() password = input('password:').strip() if not username or not password : print('账号/密码不能为空!') elif len(password) < 6 or len(password) > 12: print('密码长度在6-12之间!') elif username not in users: print('用户不存在!') elif password != users.get(username): print('密码错误!') else: print('欢迎登录!') break else: print('错误次数超限!') f.close()
三、写一个管理商品的程序,商品文件格式在(product.json)里面(1、查看商品 2、新增商品 3、修改商品信息 4、删除商品)
商品文件信息(product.json):
{ "mac book":{ "count": 50, "price": 8999 }, "矿泉水":{ "count": 100, "price": 1.1 } }
提供商品的增删改查功能:
(1)choice = input('请输入你的选择:1、查看商品 2、新增商品 3、修改商品 4、删除商品')
(2)查看商品,输入商品名称,print单个商品的信息,价格,数量,输入all,查看所有商品
(3)新增商品,输入商品名称、数量、价格,数量是大于0的整数,价格必须是大于0的数值,如果商品存在,无法添加
(4)修改商品,输入商品名称、数量、价格,商品存在才可以修改,数量是大于0的整数,价格必须是大于0的数值
(5)输入商品名称,如果存在,删除
编写程序题目分析:
代码如下:
import json file_name = 'product.json' # 文件名称不会发生变化,故定义常量 # 定义读取商品函数 def read_products(): with open(file_name,encoding='utf-8') as fr: return json.load(fr) # 定义写入商品函数 def write_products(data): with open(file_name,'w', encoding='utf-8') as fw: json.dump(data,fw,ensure_ascii=False,indent=4) # 定义数量函数 def is_digit(number): s = str(number) if s.isdigit(): if int(s) > 0: return True # 定义价格函数 def is_price(price): # >0的整数和小数都可以 s = str(price) if is_digit(s): return True else: if s.count('.') == 1: #1.3 left,right = s.split('.') if left.isdigit() and right.isdigit(): # 正整数 0.0 if float(s) > 0: return True # 定义查看商品函数 def show_product(): # 第一种先读取商品文件信息,然后输入商品名称,接下来作判断 # products = read_products() # product_name = input('请输入商品名称:').strip() # if not product_name: # print('请输入商品名称:') # elif product_name == 'all': # print(products) # elif product_name not in products: # print('商品不存在!') # else: # product = products.get(product_name) # print('商品信息:',product) # 第二种先输入商品名称,然后读取文件,接下来进行判断(推荐使用) product_name = input('请输入商品名称:').strip if product_name: products = read_products() if product_name == 'all': print(products) elif product_name not in products: print('商品不存在!') else: product = products.get(product_name) print('商品信息:',product) else: print('不能为空!') # 定义新增商品函数 def add_product(): product_name = input('请输入商品名称:').strip() price = input('请输入商品价格').strip() count = input('请输入商品数量:').strip() if product_name and price and count: if is_price(price) and is_digit(count): products = read_products() if product_name not in products: products[product_name] = {"count":count,"price":price} write_products(products) print('商品新增成功!') else: print('商品已经存在!') else: print('价格/数量不合法!') else: print('不能为空!') # 定义修改商品函数 def modify_product(): product_name = input('请输入商品名称:').strip() price = input('请输入商品价格').strip() count = input('请输入商品数量:').strip() if product_name and price and count: if is_price(price) and is_digit(count): products = read_products() if product_name in products: products[product_name] = {"count": count, "price": price} write_products(products) print('商品修改成功!') else: print('商品不存在') else: print('价格/数量不合法!') else: print('不能为空!') # 定义删除商品函数 def del_product(): product_name = input('请输入商品名称:').strip() if product_name: products = read_products() if product_name not in products: print('商品不存在!') else: products.pop(product_name) write_products(products) else: print('不能为空!') # 商品管理 choice = input('1、查看商品 2、新增商品 3、修改商品 4、删除商品') func_map = {'1': show_product(), '2': add_product(),'3': modify_product(),'4':del_product()} if choice in func_map: func_map[choice] else: print('请输入正确的选项!')
四、写一个删除日志的脚本,把三天前的日志并且为空的日志删除
1、首先需要执行造日志的脚本文件:造日志的脚本.py
def timestamp_to_str(timestamp=None,format='%Y-%m-%d %H:%M:%S'): '''时间戳转格式化好的时间,如果没有传时间戳,就获取当前的格式化时间''' if timestamp: time_tuple = time.localtime(timestamp) #把时间戳转成时间元组 result = time.strftime(format,time_tuple) #把时间元组转成格式化好的时间 return result else: return time.strftime(format) import time,os,random l = ['ios','android','nginx','tomcat','python','blog','apache','mysql','redis'] for i in l: p = os.path.join('logs',i) os.makedirs(p) for j in range(30): t = int(time.time())-86400*j time_str = timestamp_to_str(t,'%Y-%m-%d') log_name = '%s_%s.log'%(i,time_str) abs_file_path = os.path.join('logs',i,log_name) fw = open(abs_file_path, 'w', encoding='utf-8') if random.randint(1,10)%2==0: fw.write('胜多负少防守打法双方都') fw.close()
2、编写程序题目分析:
3、代码如下:
import os import time day = 60*60*24*3 def str_to_timestamp(str_time,format='%Y-%m-%d'): time_tuple = time.strptime(str_time,format) return int(time.mktime(time_tuple)) def clean_log(path): if os.path.isdir(path): for cur_path,dirs,files in os.walk(path): for file in files: if file.endswith('.log'): # android_2020-09-04.log file_time = file.split('.')[0].split('_')[-1] file_time_stamp = str_to_timestamp(file_time) ago_time_stamp = time.time() - day file_abs_path = os.path.join(cur_path,file) if file_time_stamp < ago_time_stamp or os.path.getsize(file_abs_path)==0: if time.strftime('%Y-%m-%d') in file: continue os.remove(file_abs_path) else: print('路径错误!') clean_log('logs')
五、写一个产生双色球号码的程序,输入几就产生多少条:
1、产生的里面不能有重复的
2、产生的号码要1 2 3 4 5 6
3、红色球号码从1--33中选择
4、蓝色球号码从1--16中选择
例如:01 02 03 04 05 06 07
编写程序题目分析:
代码如下:
# 第一种方法 import random number = input('number:').strip() if number.isdigit() and int(number) >0: l = [] while True: red = random.sample(range(1,34),6) red.sort() blue = random.sample(range(1,17),1) result = red + blue result = [str(ball).zfill(2) for ball in result] seq = ' '.join(result) if seq not in l: l.append(seq) print('生成的双色球号码是:红球:%s 蓝球:%s' %(' '.join(result[:6]),result[-1])) if int(number) == len(l): break
# 第二种方法 import random reds = [str(ball).zfill(2) for ball in range(1,34)] blues = [str(ball).zfill(2) for ball in range(1,17)] number = input('number:').strip() if number.isdigit() and int(number) >0: l = set() while int(number) !=len(l): red = random.sample(reds,6) red.sort() blue = random.sample(blues,1) result = red + blue result = [str(ball).zfill(2) for ball in result] seq = ' '.join(result) + ' ' l.add(seq) print('生成的双色球号码是:红球:%s 蓝球:%s' %(' '.join(result[:6]),result[-1])) with open('seq.txt','w',encoding='utf-8') as fw: fw.writelines(l)
六、写一个函数,传入一个表名,把整个表里面的数据导出到excel
1、编写程序题目分析
2、方法一:export_table_to_excel.py
import pymysql,xlwt table_name = input('请输入你要导出的表名:').strip() conn=pymysql.connect(host='118.24.3.40',user = 'jxz', password = '123456',db = 'jxz', charset='utf8',autocommit=True) #若不插入charset,有可能出现乱码 cur = conn.cursor(pymysql.cursors.DictCursor) #MySQL判断表是否存在:SELECT table_name FROM information_schema.TABLES WHERE table_name ='yourname'; table_exist_sql = "SELECT table_name FROM information_schema.TABLES WHERE table_name ='%s';"% table_name
cur.execute(table_exist_sql)
if cur.fetchall(): query_sql = 'select * from %s;' % table_name cur.execute(query_sql) data = cur.fetchall() if data: book = xlwt.Workbook() #todo,没有处理表头 sheet = book.add_sheet('sheet1') for index,key in enumerate(data[0]): #写表头 sheet.write(0,index,key) for row,item in enumerate(data,1): #写数据 for col,value in enumerate(item.values()): sheet.write(row,col,value) book.save(table_name+'.xls') print('导出完成!') else: print('表中无数据,无法导出!') else: print('表不存在!') cur.close() conn.close()
3、方法二:export_table_to_excel.py
(1)定义tools函数模块:
import pymysql,xlwt import traceback MYSQL_INFO ={ 'host' :'118.24.3.40', 'user' :'jxz', 'password' : '123456', 'db' : 'jxz', 'charset':'utf8', 'port' : '3306', 'autocommit':True } def execute_sql(sql): conn =pymysql.connect(**MYSQL_INFO) # XX=XXX,XX=XX cur =conn.cursor(pymysql.cursors.DictCursor) try: cur.execute(sql) except: print('sql不正确') traceback.print_exc() else: return cur.fetchall() # None [] finally: conn.close() cur.close() def write_excel(name,data): book = xlwt.Workbook() sheet = book.add_sheet('sheet1') for index, key in enumerate(data[0]): # 写表头 sheet.write(0, index, key) for row, item in enumerate(data, 1): # 写数据 for col, value in enumerate(item.values()): sheet.write(row, col, value) book.save(name + '.xls')
(2)引用tools函数模块:
import tools def main(): table_name = input('请输入你要导出的表名:').strip() table_exist_sql = "SELECT table_name FROM information_schema.TABLES WHERE table_name ='%s';" % table_name if tools.execute_sql(table_exist_sql): query_sql = 'select * from %s;' % table_name data = tools.execute_sql(query_sql) if data: tools.write_excel(table_name,data) print('导出完成!') else: print('表中无数据,无法导出!') else: print('表不存在!') if __name__ == '__main__': main()
七、改写商品管理的程序,改为从数据库里面取数据
1、方法一:商品管理:product_simple.py
import json import tools # 定义读取商品函数 def read_products(): sql = 'select * from tmz_product_xzh;' data = tools.execute_sql(sql) # [{'id':1,'product_name':'XXX','count':XX,'price':XX}] d = {} for item in data: name = item.get('product_name') count = item.get('count') price = float(item.get('price')) d[name]={'count':count,'price':price} return d # 定义写入商品函数 def write_products(data): truncate_sql ='truncate table tmz_product_xzh' tools.execute_sql(truncate_sql) for k,value in data.items(): count = value.get('count') price = value.get('price') insert_sql = 'insert into tmz_product_xzh(product_name,count,price) VALUES ("%s",%s,%s);'%(k,count,price) tools.execute_sql(insert_sql) # 定义数量函数 def is_digit(number): s = str(number) if s.isdigit(): if int(s) > 0: return True # 定义价格函数 def is_price(price): # >0的整数和小数都可以 s = str(price) if is_digit(s): return True else: if s.count('.') == 1: #1.3 left,right = s.split('.') if left.isdigit() and right.isdigit(): # 正整数 0.0 if float(s) > 0: return True # 定义查看商品函数 def show_product(): # 第一种先读取商品文件信息,然后输入商品名称,接下来作判断 # products = read_products() # product_name = input('请输入商品名称:').strip() # if not product_name: # print('请输入商品名称:') # elif product_name == 'all': # print(products) # elif product_name not in products: # print('商品不存在!') # else: # product = products.get(product_name) # print('商品信息:',product) # 第二种先输入商品名称,然后读取文件,接下来进行判断(推荐使用) product_name = input('请输入商品名称:').strip if product_name: products = read_products() if product_name == 'all': print(products) elif product_name not in products: print('商品不存在!') else: product = products.get(product_name) print('商品信息:',product) else: print('不能为空!') # 定义新增商品函数 def add_product(): product_name = input('请输入商品名称:').strip() price = input('请输入商品价格').strip() count = input('请输入商品数量:').strip() if product_name and price and count: if is_price(price) and is_digit(count): products = read_products() if product_name not in products: products[product_name] = {"count":count,"price":price} write_products(products) print('商品新增成功!') else: print('商品已经存在!') else: print('价格/数量不合法!') else: print('不能为空!') # 定义修改商品函数 def modify_product(): product_name = input('请输入商品名称:').strip() price = input('请输入商品价格').strip() count = input('请输入商品数量:').strip() if product_name and price and count: if is_price(price) and is_digit(count): products = read_products() if product_name in products: products[product_name] = {"count": count, "price": price} write_products(products) print('商品修改成功!') else: print('商品不存在') else: print('价格/数量不合法!') else: print('不能为空!') # 定义删除商品函数 def del_product(): product_name = input('请输入商品名称:').strip() if product_name: products = read_products() if product_name not in products: print('商品不存在!') else: products.pop(product_name) write_products(products) else: print('不能为空!') # 商品管理 choice = input('1、查看商品 2、新增商品 3、修改商品 4、删除商品') func_map = {'1': show_product(), '2': add_product(),'3': modify_product(),'4':del_product()} if choice in func_map: func_map[choice] else: print('请输入正确的选项!')
2、方法二:product_gooduse.py
import tools #获取单个商品信息的函数 def get_single_product(name): sql = 'select * from tmz_product_xzh where product_name = "%s";' % name return tools.execute_sql(sql) # 定义数量函数 def is_digit(number): s = str(number) if s.isdigit(): if int(s) > 0: return True # 定义价格函数 def is_price(price): # >0的整数和小数都可以 s = str(price) if is_digit(s): return True else: if s.count('.') == 1: #1.3 left,right = s.split('.') if left.isdigit() and right.isdigit(): # 正整数 0.0 if float(s) > 0: return True # 定义查看商品函数 def show_product(): product_name = input('请输入商品名称:').strip() if product_name: if product_name == 'all': sql = 'select* from tmz_product_xzh;' print(tools.execute_sql(sql)) else: product = get_single_product(product_name) if product: print('商品信息:',product) else: print('您输入的商品不存在!') else: print('不能为空!') # 定义新增商品函数 def add_product(): product_name = input('请输入商品名称:').strip() price = input('请输入商品价格:').strip() count = input('请输入商品数量:').strip() if product_name and price and count: if is_price(price) and is_digit(count): if get_single_product(product_name): print('商品已经存在!') else: insert_sql = 'insert into tmz_product_xzh(product_name,count,price)' 'VALUES ("%s",%s,%s);' % (product_name,count,price) tools.execute_sql(insert_sql) print('商品新增成功!') else: print('价格/数量不合法!') else: print('不能为空!') # 定义修改商品函数 def modify_product(): product_name = input('请输入商品名称:').strip() price = input('请输入商品价格:').strip() count = input('请输入商品数量:').strip() if product_name and price and count: if is_price(price) and is_digit(count): if get_single_product(product_name): sql = 'update tmz_product_xzh set price=%s,count=%s where product_name="%s";' %( price,count,product_name ) tools.execute_sql(sql) print('商品修改成功!') else: print('商品不存在!') else: print('价格/数量不合法!') else: print('不能为空!') # 定义删除商品函数 def del_product(): product_name = input('请输入商品名称:').strip() if product_name: if get_single_product(product_name): sql= 'delete from tmz_product_xzh where product_name = "%s";' %product_name tools.execute_sql(sql) print('商品已删除!') else: print('商品不存在!') else: print('不能为空!') # 商品管理 choice = input('1、查看商品 2、新增商品 3、修改商品 4、删除商品') func_map = {'1': show_product, '2': add_product,'3': modify_product,'4':del_product} if choice in func_map: func_map[choice]() else: print('请输入正确的选项!')
八、写一个下载QQ群成员的QQ头像程序,传入一个群号,把这个群里所有人的qq头像下载到本地,如果这个人有群备注,那么图片的名称就是刘海洋.jpg如果没有就取昵称:
1、编写程序分析:
2、代码如下:download_imag_to_local.py
# 写一个程序,传入一个群号,把这个群里所有的人的QQ头像下载到本地 # 获取群成员信息接口:https://qun.qq.com/cgi-bin/qun_mgr/search_group_members # 调用接口:search_group_members(Nick昵称,card群备注) # 如果A同学有群备注,那么图片的名称就是:Bob.jpg # 如果A同学没有群备注,那么图片名称就是:28.jpg # Form Data # gc: 1078641913 # st: 0 # end: 20 # sort: 0 # bkn: 73612145 # cookie: pgv_pvi=328774656; RK=Bqzk3YEWb+; ptcz=4c3263932d8d5a48b929cd2283f1bde3146c1ee5c4f104796f0c8d95df45c3c8; tvfe_boss_uuid=7d887b37fe60ad85; pgv_pvid=3957380448; pgv_info=ssid=s6095095448; _qpsvr_localtk=0.3003351169111208; p_uin=o1270894070; traceid=830f93d7d9; pgv_si=s2666891264; enc_uin=LqUhmq_so7tn_55OuYQ1UA; uin=o1270894070; skey=@zAKP7lF3z; pt4_token=mxrCcJXWkoh7OkmQxzKPcGAN1wqDHNqMK0hrIJnXZhw_; p_skey=amB*w3nrfpXGRncsrH-elBWWaLZ4w4rFlYsjF0rwo2I_ # 头像下载地址:https://q4.qlogo.cn/g?b=qq&nk=XXXXXXXXX=140 import requests,os # 判断该文件夹是否存在,不存在自动创建 if not os.path.exists('qq_pics'): os.mkdir('qq_pics') # 进入创建的文件夹里面: os.chdir('qq_pics') max_count = 1000 gc = 1078641913 bkn = 73612145 # 获取群信息 group_member_url = 'https://qun.qq.com/cgi-bin/qun_mgr/search_group_members' size = 40 cookie = 'pgv_pvi=328774656; RK=Bqzk3YEWb+; ptcz=4c3263932d8d5a48b929cd2283f1bde3146c1ee5c4f104796f0c8d95df45c3c8; tvfe_boss_uuid=7d887b37fe60ad85; pgv_pvid=3957380448; pgv_info=ssid=s6095095448; _qpsvr_localtk=0.3003351169111208; p_uin=o1270894070; traceid=830f93d7d9; pgv_si=s2666891264; enc_uin=LqUhmq_so7tn_55OuYQ1UA; uin=o1270894070; skey=@zAKP7lF3z; pt4_token=mxrCcJXWkoh7OkmQxzKPcGAN1wqDHNqMK0hrIJnXZhw_; p_skey=amB*w3nrfpXGRncsrH-elBWWaLZ4w4rFlYsjF0rwo2I_' count = 0 for j in range(0,max_count+1,size): # 0,20,3 # 0,20 21,41 42,62 63,83 84,104 # 0,20 20,40 40,60 60,80 80,100 data = {'gc':gc,'st':j+count,'end':j+size+count,'bkn':bkn} headers = {'cookie':cookie} r = requests.post(group_member_url,data,headers=headers) members = r.json() count +=1 if 'mems' in members: # QQ图片下载的url地址 pic_url= 'https://q4.qlogo.cn/g?b=qq&nk=%s&s=140' # 获取成员信息(列表格式) mems = members.get('mems') for m in mems: qq = m.get('uin') # 使用三元表达式:若取到了card就用card名称,取不到就取nick名称 name = m.get('card') if m.get('card') else m.get('nick') r = requests.get(pic_url % qq) with open(name + '.jpg','wb') as fw: fw.write(r.content) # 下载qq头像 print('下载完成 %s'%name) else: print('没有获取到群成员信息!') break
九、写两个接口(登录接口和支付接口)
1、编写程序分析:
2、代码如下:
(1)tools.py
import hashlib import pymysql,xlwt import traceback import redis MYSQL_INFO ={ 'host' :'118.24.3.40', 'user' :'jxz', 'password' : '123456', 'db' : 'jxz', 'charset':'utf8', 'port' : 3306, 'autocommit':True } REDIS_INFO = { 'host':'118.24.3.40', 'password':'HK139bc&*', 'db':0, 'port':6379, 'decode_responses':True } def execute_sql(sql,more=False): conn =pymysql.connect(**MYSQL_INFO) # XX=XXX,XX=XX cur =conn.cursor(pymysql.cursors.DictCursor) try: cur.execute(sql) except: print('sql不正确') traceback.print_exc() else: if more: return cur.fetchall() # None [{}] return cur.fetchone() # {‘XX’:'XX'} finally: conn.close() cur.close() def write_excel(name,data): book = xlwt.Workbook() sheet = book.add_sheet('sheet1') for index, key in enumerate(data[0]): # 写表头 sheet.write(0, index, key) for row, item in enumerate(data, 1): # 写数据 for col, value in enumerate(item.values()): sheet.write(row, col, value) book.save(name + '.xls') def my_md5(s): s = str(s) s = s.encode() m = hashlib.md5(s) result = m.hexdigest() return result def redis_str(key,value=False,expire_time=None): r = redis.Redis(**REDIS_INFO) if value: r.set(key,value,expire_time) else: return r.get(key) def redis_hash(): pass def check_session(session_id): result = redis_str(session_id) if result: return result return False
(2)login_and_pay.py
import flask import tools import json import time import uuid server = flask.Flask(__name__) # 登录接口 @server.route('/api/login',methods=['post','get']) def login(): username = flask.request.values.get('username','') password = flask.request.values.get('password','') if username.strip() and password.strip(): p = tools.my_md5(password) query_sql = 'select * from app_myuser where username="%s" and password ="%s";'%(username,p) user_result = tools.execute_sql(query_sql) if user_result: session_str = '%s%s%s'%(username,time.time(),uuid.uuid4()) session_id = tools.my_md5(session_str) user_id = user_result.get('id') user_result.get('username') tools.redis_str(session_id,'{"userid":%s,"username":"%s"}' % (user_id,username) ,600) return json.dumps({'code':'0','msg':'登录成功!','sessionid':session_id},ensure_ascii=False) else: return json.dumps({'code':'-1','msg':'输入的用户名/密码错误!'}) else: return json.dumps({'code':'-1','msg':'不能为空!'}) # 支付接口 @server.route('/pay',methods=['post','get']) def pay(): sessionid = flask.request.values.get('sessionid','') money = float(flask.request.values.get('money')) session = tools.check_session(sessionid) if session: user = json.loads(session) user_id = user.get('user_id') sql = 'select balance from app_myuser where id = %s;' % user_id balance = tools.execute_sql(sql).get('balance') if balance >= money: update_money = 'update app_myuser set balance = balance - %s where id = %s;' %(money,user_id) tools.execute_sql(update_money) return json.dumps({'code':0, 'msg':'支付成功!'},ensure_ascii=False) else: return json.dumps({'code':-1, 'msg':'余额不足!'},ensure_ascii=False) else: return json.dumps({'code': -1, 'msg': '请重新登录!'},ensure_ascii=False) if __name__=='__main__': server.run(host='0.0.0.0',port=8888,debug=True)