import mysql.connector import random conn = mysql.connector.connect(user='root', password='123456',database='xuekundb') cursor = conn.cursor() #如果表存在则删除表 #cursor.execute('drop table if exists user_game') #建表 #cursor.execute('create table user_game(id int primary key auto_increment, user_name varchar(32), password varchar(32), score int,times int)') def menu(): print('+-----------------------------------+') print('| 欢迎来到猜拳游戏 |') print('|-----------------------------------|') print('| 1.登录游戏 |') print('|-----------------------------------|') print('| 2.注册账号 |') print('+-----------------------------------+') print('\n输入序号依次选择相关操作:\n') def login_menu(): print('+-----------------------------------+') print('| 1.玩游戏 |') print('|-----------------------------------|') print('| 2.查看得分和次数 |') print('+-----------------------------------+') print('\n输入序号依次选择相关操作:\n') def login(): print('欢迎来到游戏登录页面') while True: username = input('请输入账号:') password = input('请输入密码:') cursor.execute('select * from user_game where user_name = %s and password = %s ',(username,password)) result = cursor.fetchall() if not result: print('账号或者密码错误,请输入正确的账号密码') h = input('输入1选择继续输入账号密码,输入2选择返回主界面') if(h == '2'): break else: print('登录成功') while True: login_menu() ol = input() if (ol == '1'): score,times = guess_game_main() cursor.execute('update user_game set score = score + %s, times = times + %s where user_name = %s and password = %s ', (score,times,username, password)) conn.commit() h = input('返回游戏页面请输入1,返回主界面请输入2\n') if(h == '2'): break elif(ol == '2'): cursor.execute('select * from user_game where user_name = %s and password = %s ', (username, password)) values = cursor.fetchall() print('您玩的总次数为:', values[0][4]) print('得分:',values[0][3]) h = input('返回游戏页面请输入1,返回主界面请输入2\n') if (h == '2'): break else: print('请输入正确的序号') ol = input() break '''猜拳函数''' def guess_game(player): score = 0 d = {0: '石头', 1: '剪刀', 2: '布'} # 创建字典 computer = random.randint(0, 2)#电脑随机产生0-2 if (player == 0 and computer == 1) or (player == 1 and computer == 2) or (player == 2 and computer == 0): print('电脑出的是%s,玩家出的是%s。**玩家赢啦**' % (d[computer], d[player])) score = score + 5 elif player == computer: print('电脑出的是%s,玩家出的是%s,**平局**' % (d[computer], d[player])) score = score + 2 else: print('电脑出的是%s,玩家出的是%s,**玩家输了**' % (d[computer], d[player])) print('\n') return score def guess_game_main(): score = 0 times = 0 while True: print('猜拳游戏:0代表石头,1代表剪刀,2代表布。e退出游戏') player = input('请出拳:0 ,1,2:\n') if (player == 'e' or player == '0' or player == '1' or player == '2'): if player == 'e': break player = int(player) times = times +1 score = score + guess_game(player) else: print('请输入0-2猜拳,或者输入e退出游戏') print('\n') return score,times def registered(): while True: username = input('请输入注册账号') cursor.execute('select * from user_game where user_name = %s', (username,)) result = cursor.fetchall() if result: print('此账号已经存在,请重新输入') if not result: password = input('请输入密码') password2 = input('请确认密码') if (password == password2): cursor.execute('insert into user_game(user_name,password,score,times) values(%s,%s,%s,%s)', [username, password,0,0]) print('注册成功') break else: print('密码和确认密码输入不一致,请重新输入') while True: menu() o = input() if(o == '1'): login() conn.commit() h = input('返回主页面输入1.退出程序输入2\n') if (h == '2'): break elif(o == '2'): registered() conn.commit() h = input('返回主页面输入1.退出程序输入2\n') if(h == '2'): break else: print('请输入正确的序号')
初学python几天,特地写个小程序练手,代码如有问题,还请各位指教