用python编写注册登录程序,python写用户注册和登录

这篇具有很好参考价值的文章主要介绍了用python编写注册登录程序,python写用户注册和登录。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

大家好,小编来为大家解答以下问题,python注册用户名和密码登录,python编写用户注册登录系统,现在让我们一起来看看吧!

python做一个登录注册界面,java,服务器,数据库,人工智能

一、登录和注册

1. 案例介绍

本例设计一个用户登录和注册模块,使用 Tkinter 框架构建界面,主要用到画布、文本框、按钮等组件。涉及知识点:Python Tkinter 界面编程、pickle 数据存储python画树状图。本例实现了基本的用户登录和注册互动界面,并提供用户信息存储和验证。

pickle 是 python 语言的一个标准模块,安装 python 后已包含 pickle 库,不需要单独再安装。pickle 模块实现了基本的数据序列化和反序列化。通过 pickle 模块的序列化操作能够将程序中运行的对象信息保存到文件中去,永久存储;通过 pickle 模块的反序列化操作,能够从文件中创建上一次程序保存的对象。

本例难度为中级,适合具有 Python 基础和 Tkinter 组件编程知识的用户学习。

2. 示例效果
python做一个登录注册界面,java,服务器,数据库,人工智能

python做一个登录注册界面,java,服务器,数据库,人工智能

3. 示例源码

import tkinter as tk
import pickle
import tkinter.messagebox
from PIL import Image, ImageTk


# 设置窗口---最开始的母体窗口
window = tk.Tk()  # 建立一个窗口
window.title('欢迎登录')
window.geometry('450x300')  # 窗口大小为300x200


# 画布
canvas = tk.Canvas(window, height=200, width=900)
# 加载图片
im = Image.open("images/01.png")``image_file = ImageTk.PhotoImage(im)
# image_file = tk.PhotoImage(file='images/01.gif')
image = canvas.create_image(100, 40, anchor='nw', image=image_file)
canvas.pack(side='top')


# 两个文字标签,用户名和密码两个部分
tk.Label(window, text='用户名').place(x=100, y=150)
tk.Label(window, text='密  码').place(x=100, y=190)


var_usr_name = tk.StringVar()  # 讲文本框的内容,定义为字符串类型
var_usr_name.set('amoxiang@163.com')  # 设置默认值
var_usr_pwd = tk.StringVar()


# 第一个输入框-用来输入用户名的。
# textvariable 获取文本框的内容
entry_usr_name = tk.Entry(window, textvariable=var_usr_name)
entry_usr_name.place(x=160, y=150)
# 第二个输入框-用来输入密码的。
entry_usr_pwd = tk.Entry(window, textvariable=var_usr_pwd, show='*')
entry_usr_pwd.place(x=160, y=190)


def usr_login():
usr_name = var_usr_name.get()
usr_pwd = var_usr_pwd.get()
try:
with open('usrs_info.pickle', 'rb') as usr_file:
usrs_info = pickle.load(usr_file)
except FileNotFoundError:
with open('usrs_info.pickle', 'wb') as usr_file:
usrs_info = {'admin': 'admin'}
pickle.dump(usrs_info, usr_file)
if usr_name in usrs_info:
if usr_pwd == usrs_info[usr_name]:
tk.messagebox.showinfo(
title='欢迎光临', message=usr_name + ':请进入个人首页,查看最新资讯')
else:
tk.messagebox.showinfo(message='错误提示:密码不对,请重试')
else:
is_sign_up = tk.messagebox.askyesno('提示', '你还没有注册,请先注册')
print(is_sign_up)
if is_sign_up:
usr_sign_up()


# 注册按钮def usr_sign_up():
def sign_to_Mofan_Python():
np = new_pwd.get()
npf = new_pwd_confirm.get()
nn = new_name.get()
# 上面是获取数据,下面是查看一下是否重复注册过
with open('usrs_info.pickle', 'rb') as usr_file:
exist_usr_info = pickle.load(usr_file)
if np != npf:
tk.messagebox.showerror('错误提示', '密码和确认密码必须一样')
elif nn in exist_usr_info:
tk.messagebox.showerror('错误提示', '用户名早就注册了!')
else:
exist_usr_info[nn] = np
with open('usrs_info.pickle', 'wb') as usr_file:
pickle.dump(exist_usr_info, usr_file)
tk.messagebox.showinfo('欢迎', '你已经成功注册了')
window_sign_up.destroy()


# 点击注册之后,会弹出这个窗口界面。
window_sign_up = tk.Toplevel(window)
window_sign_up.title('欢迎注册')
window_sign_up.geometry('360x200')  # 中间是x,而不是*号


# 用户名框--这里输入用户名框。
new_name = tk.StringVar()
new_name.set('amoxiang@163.com')  # 设置的是默认值
tk.Label(window_sign_up, text='用户名').place(x=10, y=10)
entry_new_name = tk.Entry(window_sign_up, textvariable=new_name)
entry_new_name.place(x=100, y=10)


# 新密码框--这里输入注册时候的密码
new_pwd = tk.StringVar()
tk.Label(window_sign_up, text='密  码').place(x=10, y=50)
entry_usr_pwd = tk.Entry(window_sign_up, textvariable=new_pwd, show='*')
entry_usr_pwd.place(x=100, y=50)


# 密码确认框
new_pwd_confirm = tk.StringVar()
tk.Label(window_sign_up, text='确认密码').place(x=10, y=90)
entry_usr_pwd_confirm = tk.Entry(
window_sign_up, textvariable=new_pwd_confirm, show='*')
entry_usr_pwd_confirm.place(x=100, y=90)
btn_confirm_sign_up = tk.Button(
window_sign_up, text=' 注  册 ', command=sign_to_Mofan_Python)
btn_confirm_sign_up.place(x=120, y=130)


# 创建注册和登录按钮
btn_login = tk.Button(window, text=' 登  录 ', command=usr_login)
btn_login.place(x=150, y=230)  # 用place来处理按钮的位置信息。
btn_sign_up = tk.Button(window, text=' 注  册 ', command=usr_sign_up)
btn_sign_up.place(x=250, y=230) 


window.mainloop()

===

二、2048游戏开发

1. 游戏简介

2048 是一款比较流行的数字游戏。游戏规则:每次可按上、下、左、右方向键滑动数字,每滑动一次,所有数字都会往滑动方向靠拢,同时在空白位置随机出现一个数字,相同数字在靠拢时会相加。不断叠加最终拼出 2048 这个数字算成功。

2048 最早于 2014年3月20日发行。原版 2048 首先在 GitHub 上发布,原作者是 Gabriele Cirulli,后被移植到各个平台。

本例难度为初级,适合具有 Python 基础和 Pygame 编程知识的用户学习。

2. 设计原理

这个游戏的本质是二维列表,就以 4*4 的二位列表来分析关键的逻辑以及实现。二维列表如下图:
python做一个登录注册界面,java,服务器,数据库,人工智能

所有的操作都是对这个二维列表的数据的操作。分为上下左右四个方向。先说向左的方向(如图)。
python做一个登录注册界面,java,服务器,数据库,人工智能

向左操作的结果如下图;当向左的方向是,所有的数据沿着水平方向向左跑。
python做一个登录注册界面,java,服务器,数据库,人工智能

水平说明操作的是二维列表的一行,而垂直操作的则是二位列表的一列。这样就可以将二维列表的操作变成遍历后对一维列表的操作。向左说明数据的优先考虑的位置是从左开始的。这样就确定了一维列表的遍历开始的位置。

上面第 2 个图共四行,每一个行都能得到一个列表。

list1:[0,0,2,0]``list2:[0,4,2,0]``list3:[0,0,4,4]``list4:[2,0,2,0]

这样一来向左的方向就变成。从上到下获得每一行的列表,方向向左。参数(row,left)。
python做一个登录注册界面,java,服务器,数据库,人工智能

其他的三个方向在开始的时候记住是怎样获得以为列表的,等操作完才放回去这样就能实现了。

3. 示例效果
python做一个登录注册界面,java,服务器,数据库,人工智能

4. 示例源码

import random
import sys
import pygame
from pygame.locals import *
PIXEL = 150
SCORE_PIXEL = 100
SIZE = 4


# 地图的类


class Map:
def __init__(self, size):
self.size = size
self.score = 0
self.map = [[0 for i in range(size)] for i in range(size)]
self.add()
self.add()


# 新增2或4,有1/4概率产生4
def add(self):
while True:
p = random.randint(0, self.size * self.size - 1)
if self.map[int(p / self.size)][int(p % self.size)] == 0:
x = random.randint(0, 3) > 0 and 2 or 4
self.map[int(p / self.size)][int(p % self.size)] = x
self.score += x
break
# 地图向左靠拢,其他方向的靠拢可以通过适当旋转实现,返回地图是否更新
def adjust(self):
changed = False
for a in self.map:
b = []
last = 0
for v in a:
if v != 0:
if v == last:
b.append(b.pop() << 1)
last = 0
else:
b.append(v)
last = v
b += [0] * (self.size - len(b))
for i in range(self.size):
if a[i] != b[i]:
changed = True
a[:] = b
return changed


# 逆时针旋转地图90度
def rotate90(self):
self.map = [[self.map[c][r]
for c in range(self.size)] for r in reversed(range(self.size))]


# 判断游戏结束
def over(self):
for r in range(self.size):
for c in range(self.size):
if self.map[r][c] == 0:
return False
for r in range(self.size):
for c in range(self.size - 1):
if self.map[r][c] == self.map[r][c + 1]:
return False
for r in range(self.size - 1):
for c in range(self.size):
if self.map[r][c] == self.map[r + 1][c]:
return False
return True
def moveUp(self):
self.rotate90()
if self.adjust():
self.add()
self.rotate90()
self.rotate90()
self.rotate90()
def moveRight(self):
self.rotate90()
self.rotate90()
if self.adjust():
self.add()
self.rotate90()
self.rotate90()
def moveDown(self):
self.rotate90()
self.rotate90()
self.rotate90()
if self.adjust():
self.add()
self.rotate90()
def moveLeft(self):
if self.adjust():
self.add()


# 更新屏幕
def show(map):
for i in range(SIZE):
for j in range(SIZE):
# 背景颜色块
screen.blit(map.map[i][j] == 0 and block[(i + j) % 2]
or block[2 + (i + j) % 2], (PIXEL * j, PIXEL * i))
# 数值显示
if map.map[i][j] != 0:
map_text = map_font.render(
str(map.map[i][j]), True, (106, 90, 205))
text_rect = map_text.get_rect()
text_rect.center = (PIXEL * j + PIXEL / 2,
PIXEL * i + PIXEL / 2)
screen.blit(map_text, text_rect)
# 分数显示
screen.blit(score_block, (0, PIXEL * SIZE))
score_text = score_font.render((map.over(
) and "Game over with score " or "Score: ") + str(map.score), True, (106, 90, 205))
score_rect = score_text.get_rect()
score_rect.center = (PIXEL * SIZE / 2, PIXEL * SIZE + SCORE_PIXEL / 2)
screen.blit(score_text, score_rect)
pygame.display.update()


map = Map(SIZE)
pygame.init()
screen = pygame.display.set_mode((PIXEL * SIZE, PIXEL * SIZE + SCORE_PIXEL))
pygame.display.set_caption("2048")
block = [pygame.Surface((PIXEL, PIXEL)) for i in range(4)]
# 设置颜色
block[0].fill((152, 251, 152))
block[1].fill((240, 255, 255))
block[2].fill((0, 255, 127))
block[3].fill((225, 255, 255))
score_block = pygame.Surface((PIXEL * SIZE, SCORE_PIXEL))
score_block.fill((245, 245, 245))
# 设置字体
map_font = pygame.font.Font(None, int(PIXEL * 2 / 3))
score_font = pygame.font.Font(None, int(SCORE_PIXEL * 2 / 3))
clock = pygame.time.Clock()
show(map)


while not map.over():
# 12为实验参数
clock.tick(12)
for event in pygame.event.get():
if event.type == QUIT:
sys.exit()
# 接收玩家操作
pressed_keys = pygame.key.get_pressed()
if pressed_keys[K_w] or pressed_keys[K_UP]:
map.moveUp()
elif pressed_keys[K_s] or pressed_keys[K_DOWN]:
map.moveDown()
elif pressed_keys[K_a] or pressed_keys[K_LEFT]:
map.moveLeft()
elif pressed_keys[K_d] or pressed_keys[K_RIGHT]:
map.moveRight()
show(map)


# 游戏结束
pygame.time.delay(3000)

最后这里免费分享给大家一份Python学习资料,包含视频、源码。课件,希望能帮到那些不满现状,想提升自己却又没有方向的朋友,也可以和我一起来学习交流呀。
编程资料、学习路线图、源代码、软件安装包等!【点击这里】领取!
Python所有方向的学习路线图,清楚各个方向要学什么东西
100多节Python课程视频,涵盖必备基础、爬虫和数据分析
100多个Python实战案例,学习不再是只会理论
华为出品独家Python漫画教程,手机也能学习
历年互联网企业Python面试真题,复习时非常方便

python做一个登录注册界面,java,服务器,数据库,人工智能文章来源地址https://www.toymoban.com/news/detail-859276.html

一、登录和注册

1. 案例介绍

本例设计一个用户登录和注册模块,使用 Tkinter 框架构建界面,主要用到画布、文本框、按钮等组件。涉及知识点:Python Tkinter 界面编程、pickle 数据存储python画树状图。本例实现了基本的用户登录和注册互动界面,并提供用户信息存储和验证。

pickle 是 python 语言的一个标准模块,安装 python 后已包含 pickle 库,不需要单独再安装。pickle 模块实现了基本的数据序列化和反序列化。通过 pickle 模块的序列化操作能够将程序中运行的对象信息保存到文件中去,永久存储;通过 pickle 模块的反序列化操作,能够从文件中创建上一次程序保存的对象。

本例难度为中级,适合具有 Python 基础和 Tkinter 组件编程知识的用户学习。

2. 示例效果
python做一个登录注册界面,java,服务器,数据库,人工智能

python做一个登录注册界面,java,服务器,数据库,人工智能

3. 示例源码

import tkinter as tk
import pickle
import tkinter.messagebox
from PIL import Image, ImageTk


# 设置窗口---最开始的母体窗口
window = tk.Tk()  # 建立一个窗口
window.title('欢迎登录')
window.geometry('450x300')  # 窗口大小为300x200


# 画布
canvas = tk.Canvas(window, height=200, width=900)
# 加载图片
im = Image.open("images/01.png")``image_file = ImageTk.PhotoImage(im)
# image_file = tk.PhotoImage(file='images/01.gif')
image = canvas.create_image(100, 40, anchor='nw', image=image_file)
canvas.pack(side='top')


# 两个文字标签,用户名和密码两个部分
tk.Label(window, text='用户名').place(x=100, y=150)
tk.Label(window, text='密  码').place(x=100, y=190)


var_usr_name = tk.StringVar()  # 讲文本框的内容,定义为字符串类型
var_usr_name.set('amoxiang@163.com')  # 设置默认值
var_usr_pwd = tk.StringVar()


# 第一个输入框-用来输入用户名的。
# textvariable 获取文本框的内容
entry_usr_name = tk.Entry(window, textvariable=var_usr_name)
entry_usr_name.place(x=160, y=150)
# 第二个输入框-用来输入密码的。
entry_usr_pwd = tk.Entry(window, textvariable=var_usr_pwd, show='*')
entry_usr_pwd.place(x=160, y=190)


def usr_login():
usr_name = var_usr_name.get()
usr_pwd = var_usr_pwd.get()
try:
with open('usrs_info.pickle', 'rb') as usr_file:
usrs_info = pickle.load(usr_file)
except FileNotFoundError:
with open('usrs_info.pickle', 'wb') as usr_file:
usrs_info = {'admin': 'admin'}
pickle.dump(usrs_info, usr_file)
if usr_name in usrs_info:
if usr_pwd == usrs_info[usr_name]:
tk.messagebox.showinfo(
title='欢迎光临', message=usr_name + ':请进入个人首页,查看最新资讯')
else:
tk.messagebox.showinfo(message='错误提示:密码不对,请重试')
else:
is_sign_up = tk.messagebox.askyesno('提示', '你还没有注册,请先注册')
print(is_sign_up)
if is_sign_up:
usr_sign_up()


# 注册按钮def usr_sign_up():
def sign_to_Mofan_Python():
np = new_pwd.get()
npf = new_pwd_confirm.get()
nn = new_name.get()
# 上面是获取数据,下面是查看一下是否重复注册过
with open('usrs_info.pickle', 'rb') as usr_file:
exist_usr_info = pickle.load(usr_file)
if np != npf:
tk.messagebox.showerror('错误提示', '密码和确认密码必须一样')
elif nn in exist_usr_info:
tk.messagebox.showerror('错误提示', '用户名早就注册了!')
else:
exist_usr_info[nn] = np
with open('usrs_info.pickle', 'wb') as usr_file:
pickle.dump(exist_usr_info, usr_file)
tk.messagebox.showinfo('欢迎', '你已经成功注册了')
window_sign_up.destroy()


# 点击注册之后,会弹出这个窗口界面。
window_sign_up = tk.Toplevel(window)
window_sign_up.title('欢迎注册')
window_sign_up.geometry('360x200')  # 中间是x,而不是*号


# 用户名框--这里输入用户名框。
new_name = tk.StringVar()
new_name.set('amoxiang@163.com')  # 设置的是默认值
tk.Label(window_sign_up, text='用户名').place(x=10, y=10)
entry_new_name = tk.Entry(window_sign_up, textvariable=new_name)
entry_new_name.place(x=100, y=10)


# 新密码框--这里输入注册时候的密码
new_pwd = tk.StringVar()
tk.Label(window_sign_up, text='密  码').place(x=10, y=50)
entry_usr_pwd = tk.Entry(window_sign_up, textvariable=new_pwd, show='*')
entry_usr_pwd.place(x=100, y=50)


# 密码确认框
new_pwd_confirm = tk.StringVar()
tk.Label(window_sign_up, text='确认密码').place(x=10, y=90)
entry_usr_pwd_confirm = tk.Entry(
window_sign_up, textvariable=new_pwd_confirm, show='*')
entry_usr_pwd_confirm.place(x=100, y=90)
btn_confirm_sign_up = tk.Button(
window_sign_up, text=' 注  册 ', command=sign_to_Mofan_Python)
btn_confirm_sign_up.place(x=120, y=130)


# 创建注册和登录按钮
btn_login = tk.Button(window, text=' 登  录 ', command=usr_login)
btn_login.place(x=150, y=230)  # 用place来处理按钮的位置信息。
btn_sign_up = tk.Button(window, text=' 注  册 ', command=usr_sign_up)
btn_sign_up.place(x=250, y=230) 


window.mainloop()

===

二、2048游戏开发

1. 游戏简介

2048 是一款比较流行的数字游戏。游戏规则:每次可按上、下、左、右方向键滑动数字,每滑动一次,所有数字都会往滑动方向靠拢,同时在空白位置随机出现一个数字,相同数字在靠拢时会相加。不断叠加最终拼出 2048 这个数字算成功。

2048 最早于 2014年3月20日发行。原版 2048 首先在 GitHub 上发布,原作者是 Gabriele Cirulli,后被移植到各个平台。

本例难度为初级,适合具有 Python 基础和 Pygame 编程知识的用户学习。

2. 设计原理

这个游戏的本质是二维列表,就以 4*4 的二位列表来分析关键的逻辑以及实现。二维列表如下图:
python做一个登录注册界面,java,服务器,数据库,人工智能

所有的操作都是对这个二维列表的数据的操作。分为上下左右四个方向。先说向左的方向(如图)。
python做一个登录注册界面,java,服务器,数据库,人工智能

向左操作的结果如下图;当向左的方向是,所有的数据沿着水平方向向左跑。
python做一个登录注册界面,java,服务器,数据库,人工智能

水平说明操作的是二维列表的一行,而垂直操作的则是二位列表的一列。这样就可以将二维列表的操作变成遍历后对一维列表的操作。向左说明数据的优先考虑的位置是从左开始的。这样就确定了一维列表的遍历开始的位置。

上面第 2 个图共四行,每一个行都能得到一个列表。

list1:[0,0,2,0]``list2:[0,4,2,0]``list3:[0,0,4,4]``list4:[2,0,2,0]

这样一来向左的方向就变成。从上到下获得每一行的列表,方向向左。参数(row,left)。
python做一个登录注册界面,java,服务器,数据库,人工智能

其他的三个方向在开始的时候记住是怎样获得以为列表的,等操作完才放回去这样就能实现了。

3. 示例效果
python做一个登录注册界面,java,服务器,数据库,人工智能

4. 示例源码

import random
import sys
import pygame
from pygame.locals import *
PIXEL = 150
SCORE_PIXEL = 100
SIZE = 4


# 地图的类


class Map:
def __init__(self, size):
self.size = size
self.score = 0
self.map = [[0 for i in range(size)] for i in range(size)]
self.add()
self.add()


# 新增2或4,有1/4概率产生4
def add(self):
while True:
p = random.randint(0, self.size * self.size - 1)
if self.map[int(p / self.size)][int(p % self.size)] == 0:
x = random.randint(0, 3) > 0 and 2 or 4
self.map[int(p / self.size)][int(p % self.size)] = x
self.score += x
break
# 地图向左靠拢,其他方向的靠拢可以通过适当旋转实现,返回地图是否更新
def adjust(self):
changed = False
for a in self.map:
b = []
last = 0
for v in a:
if v != 0:
if v == last:
b.append(b.pop() << 1)
last = 0
else:
b.append(v)
last = v
b += [0] * (self.size - len(b))
for i in range(self.size):
if a[i] != b[i]:
changed = True
a[:] = b
return changed


# 逆时针旋转地图90度
def rotate90(self):
self.map = [[self.map[c][r]
for c in range(self.size)] for r in reversed(range(self.size))]


# 判断游戏结束
def over(self):
for r in range(self.size):
for c in range(self.size):
if self.map[r][c] == 0:
return False
for r in range(self.size):
for c in range(self.size - 1):
if self.map[r][c] == self.map[r][c + 1]:
return False
for r in range(self.size - 1):
for c in range(self.size):
if self.map[r][c] == self.map[r + 1][c]:
return False
return True
def moveUp(self):
self.rotate90()
if self.adjust():
self.add()
self.rotate90()
self.rotate90()
self.rotate90()
def moveRight(self):
self.rotate90()
self.rotate90()
if self.adjust():
self.add()
self.rotate90()
self.rotate90()
def moveDown(self):
self.rotate90()
self.rotate90()
self.rotate90()
if self.adjust():
self.add()
self.rotate90()
def moveLeft(self):
if self.adjust():
self.add()


# 更新屏幕
def show(map):
for i in range(SIZE):
for j in range(SIZE):
# 背景颜色块
screen.blit(map.map[i][j] == 0 and block[(i + j) % 2]
or block[2 + (i + j) % 2], (PIXEL * j, PIXEL * i))
# 数值显示
if map.map[i][j] != 0:
map_text = map_font.render(
str(map.map[i][j]), True, (106, 90, 205))
text_rect = map_text.get_rect()
text_rect.center = (PIXEL * j + PIXEL / 2,
PIXEL * i + PIXEL / 2)
screen.blit(map_text, text_rect)
# 分数显示
screen.blit(score_block, (0, PIXEL * SIZE))
score_text = score_font.render((map.over(
) and "Game over with score " or "Score: ") + str(map.score), True, (106, 90, 205))
score_rect = score_text.get_rect()
score_rect.center = (PIXEL * SIZE / 2, PIXEL * SIZE + SCORE_PIXEL / 2)
screen.blit(score_text, score_rect)
pygame.display.update()


map = Map(SIZE)
pygame.init()
screen = pygame.display.set_mode((PIXEL * SIZE, PIXEL * SIZE + SCORE_PIXEL))
pygame.display.set_caption("2048")
block = [pygame.Surface((PIXEL, PIXEL)) for i in range(4)]
# 设置颜色
block[0].fill((152, 251, 152))
block[1].fill((240, 255, 255))
block[2].fill((0, 255, 127))
block[3].fill((225, 255, 255))
score_block = pygame.Surface((PIXEL * SIZE, SCORE_PIXEL))
score_block.fill((245, 245, 245))
# 设置字体
map_font = pygame.font.Font(None, int(PIXEL * 2 / 3))
score_font = pygame.font.Font(None, int(SCORE_PIXEL * 2 / 3))
clock = pygame.time.Clock()
show(map)


while not map.over():
# 12为实验参数
clock.tick(12)
for event in pygame.event.get():
if event.type == QUIT:
sys.exit()
# 接收玩家操作
pressed_keys = pygame.key.get_pressed()
if pressed_keys[K_w] or pressed_keys[K_UP]:
map.moveUp()
elif pressed_keys[K_s] or pressed_keys[K_DOWN]:
map.moveDown()
elif pressed_keys[K_a] or pressed_keys[K_LEFT]:
map.moveLeft()
elif pressed_keys[K_d] or pressed_keys[K_RIGHT]:
map.moveRight()
show(map)


# 游戏结束
pygame.time.delay(3000)

最后这里免费分享给大家一份Python学习资料,包含视频、源码。课件,希望能帮到那些不满现状,想提升自己却又没有方向的朋友,也可以和我一起来学习交流呀。
编程资料、学习路线图、源代码、软件安装包等!【点击这里】领取!
Python所有方向的学习路线图,清楚各个方向要学什么东西
100多节Python课程视频,涵盖必备基础、爬虫和数据分析
100多个Python实战案例,学习不再是只会理论
华为出品独家Python漫画教程,手机也能学习
历年互联网企业Python面试真题,复习时非常方便

python做一个登录注册界面,java,服务器,数据库,人工智能

到了这里,关于用python编写注册登录程序,python写用户注册和登录的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 100 行代码实现用户登录注册与 RESTful 接口 - 手把手教程附 Python 源码

    在开发大多数应用时,用户系统都是必不可少的部分,而我们总是需要开发围绕用户的登录,注册,获取,更新等接口。在这篇文章将带你用一百多行代码简洁地实现一套这样的用户鉴权与 RESTful 接口,并使用 Session 来处理用户的登录登出 我们将使用 UtilMeta 框架 完成接口开

    2024年02月19日
    浏览(41)
  • Django使用DRF + Simple JWT 完成小程序使用自定义用户的注册、登录和认证

    在已经配置好djangorestframework-simplejwt的前提下进行 小程序用户模型类 这里的模型类并未继承django自带的用户模型类,好处是后面小程序用户也是没法进行admin端的,缺点是可能会对django自带的权限管理有影响,如果只有小程序端的用户的话没问题,但是如果还有其它用户的话

    2024年02月10日
    浏览(45)
  • Python Django的学生选课管理系统,实现多用户登录注册,可选课可评课

    学生选课管理系统是一个基于Python Django开发的教务管理系统,旨在提供方便快捷的选课服务和学籍管理功能。该系统分为教师端和学生端两个角色,为教师和学生提供了不同的功能和权限。 教师端功能: 教师可以登录系统后,进行课程管理、成绩录入和学生管理等操作。具

    2024年01月24日
    浏览(48)
  • JavaWeb--用户登录注册案例

    目标 理解什么是会话跟踪技术 掌握Cookie的使用 掌握Session的使用 完善用户登录注册案例的功能 需求说明: 完成用户登录功能,如果用户勾选“记住用户” ,则下次访问登录页面 自动 填充用户名密码 完成注册功能,并实现 验证码 功能 需求: 用户登录成功后,跳转到列表页

    2024年02月03日
    浏览(42)
  • 案例:用户登录/注册

    前端技术: HTML:用于创建网页结构和内容的标记语言 CSS:用于美化和样式化网页的样式表语言。 JavaScript:用于实现网页的交互和动态效果 后端技术: Java:作为主要的后端编程语言,用于编写服务器端的逻辑代码 Servlet: Java Web 技术,用于处理客户端请求和生成响应。 MyBatis:Java的持

    2024年02月12日
    浏览(37)
  • 【Java案例】用户登录注册

    案例介绍: 编写程序实现简单的用户登录注册功能。程序包含以下4个功能: (1)登录功能,用户输入正确的账号密码登录成功; (2)注册功能,输入用户名和密码进行注册; (3)查看功能,查看所有的用户名与密码; (4)退出功能,退出系统; 用户可以输入对应的编

    2024年01月16日
    浏览(37)
  • Java开发:实现用户注册登录的功能

    一、前言 在Java开发过程中,实现用户的注册功能是最基本的,用户通过手机号或者邮箱作为注册账号也是非常常见的操作方式,不管是通过手机号注册或者邮箱注册,原理都差不多,那么本文就来分享一下在Java开发过程中的用户注册账号的功能实现。 二、准备工作 1、通过

    2023年04月09日
    浏览(46)
  • 基于Java的界面开发【用户注册登录】

    首先要清楚一个界面由哪些部分组成:         1、可视化部分:  窗体、标签、菜单、选项卡、按钮......         2、元素规则部分:  颜色、尺寸、字体、布局         3、内容部分:  文字、图片 其次是所需代码库(java类库):   java.awt(元素规则类比较多)

    2024年02月06日
    浏览(36)
  • 安卓学习1:简单的用户登录注册界面

            a.方法一:创建时直接选择设置为启动界面(勾选LauncherActivity)         b.方法二:手动配置AndroidManifest.xml文件,注册该活动为启动界面                                           不同页面之间的跳转使用Intent对象,它可以用于在不同组件之间传递消息  

    2024年02月02日
    浏览(38)
  • Django用户认证: 利用Django Auth模块实现用户注册、登录与登出

    用户登录注册属于用户认证的一部分,Django内置了一套用户认证体系,使用起来比较方便,而且支持用户定制和拓展,足以满足任何复杂的业务需求。 Django框架中,用户权限管理被划分为三个层次: 用户 :系统使用者,拥有自己的权限。可被一个或多个用户组包含。 用户组

    2023年04月20日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包