登陆系统输入账号密码根据账号密码做比较进入系统 账号密码报错python
时间: 2024-09-14 11:14:39 浏览: 34
在Python中,登陆系统通常会涉及用户输入账户名和密码,然后与数据库存储的用户信息进行比对。这可以使用内置的数据结构如字典来模拟简单的数据存储,或连接到实际的数据库(例如MySQL、SQLite等)。以下是一个简单的流程:
```python
def login(username, password):
# 假设我们有一个预定义的用户列表或数据库查询结果
users = {"admin": "123456", "user1": "password1"} # 替换为真实的数据库查询
if username in users and users[username] == password:
print("登录成功")
# 进入系统...
else:
print("用户名或密码错误")
# 用户输入
username = input("请输入用户名:")
password = input("请输入密码:")
login(username, password)
```
在这个例子中,如果输入的`username`和`password`匹配`users`字典中的条目,登录会被认为成功;否则,会显示"用户名或密码错误"。
相关问题
用Python开发一个简易点餐系统,实现如下功能: (1)主程序页面显示:主页面显示登录和退出操作,并实现登录及退出系统的功能。登录时可以选择是管理员还是客户登录。管理员登录时要进行用户名和密码的验证,默认管理员账号密码为root/admin123,如果密码错误不超过三次可以提示重新输入,否则失败报错。管理员登录成功后进入管理员子系统的操作页面。用户登录时,只需要输入桌号即可进入客户点餐子系统操作页面。 (2)管理员子系统的操作页面:对菜单和订单进行增/删/改/查操作,也可以返回上级菜单。 (3)客户点餐子系统的操作页面:查询菜单列表、添加菜单到订单中、取消点餐订单,也可以返回上级菜单。
这是一个比较复杂的需求,需要设计数据库、编写前端界面和后端逻辑代码。以下是一个简单的Python点餐系统的示例代码,仅供参考。
```python
import getpass
# 菜单列表
menu = [
{'name': '宫保鸡丁', 'price': 25},
{'name': '麻婆豆腐', 'price': 20},
{'name': '水煮肉片', 'price': 30},
{'name': '清蒸鲈鱼', 'price': 35},
{'name': '红烧肉', 'price': 40},
{'name': '小炒黄牛肉', 'price': 50},
]
# 订单列表
orders = {}
# 管理员账号密码
admin_username = 'root'
admin_password = 'admin123'
# 登录次数
login_count = 0
# 登录函数
def login():
global login_count
print('欢迎使用点餐系统')
while login_count < 3:
username = input('请输入用户名:')
password = getpass.getpass('请输入密码:')
if username == admin_username and password == admin_password:
print('登录成功')
return 'admin'
else:
login_count += 1
print('用户名或密码错误,请重新输入')
print('登录失败')
return None
# 显示菜单函数
def show_menu():
print('菜单列表:')
for i, item in enumerate(menu):
print(f'{i+1}. {item["name"]} - {item["price"]}元')
# 添加订单函数
def add_order():
table_number = input('请输入桌号:')
if table_number not in orders:
orders[table_number] = []
while True:
show_menu()
choice = input('请输入菜品编号(0结束):')
if not choice.isdigit():
print('输入有误,请重新输入')
continue
choice = int(choice)
if choice < 0 or choice > len(menu):
print('输入有误,请重新输入')
continue
if choice == 0:
break
dish = menu[choice-1]
orders[table_number].append(dish)
print(f'{dish["name"]}已加入订单')
print('订单已提交')
# 取消订单函数
def cancel_order():
table_number = input('请输入桌号:')
if table_number in orders:
del orders[table_number]
print('订单已取消')
else:
print('该桌号没有订单')
# 查看订单函数
def show_order():
table_number = input('请输入桌号:')
if table_number in orders:
print(f'{table_number}号桌订单:')
for dish in orders[table_number]:
print(f'{dish["name"]} - {dish["price"]}元')
print(f'总计:{sum([dish["price"] for dish in orders[table_number]])}元')
else:
print('该桌号没有订单')
# 管理员子系统函数
def admin_system():
while True:
print('管理员子系统')
print('1. 查看菜单')
print('2. 添加菜品')
print('3. 修改菜品')
print('4. 删除菜品')
print('5. 查看订单')
print('0. 返回上级菜单')
choice = input('请选择:')
if not choice.isdigit():
print('输入有误,请重新输入')
continue
choice = int(choice)
if choice == 0:
break
elif choice == 1:
show_menu()
elif choice == 2:
name = input('请输入菜名:')
price = input('请输入价格:')
menu.append({'name': name, 'price': int(price)})
print('菜品已添加')
elif choice == 3:
index = input('请输入要修改的菜品编号:')
if not index.isdigit() or int(index) < 1 or int(index) > len(menu):
print('输入有误,请重新输入')
continue
name = input('请输入新菜名:')
price = input('请输入新价格:')
menu[int(index)-1] = {'name': name, 'price': int(price)}
print('菜品已修改')
elif choice == 4:
index = input('请输入要删除的菜品编号:')
if not index.isdigit() or int(index) < 1 or int(index) > len(menu):
print('输入有误,请重新输入')
continue
del menu[int(index)-1]
print('菜品已删除')
elif choice == 5:
show_order()
else:
print('输入有误,请重新输入')
# 客户子系统函数
def customer_system():
while True:
print('客户子系统')
print('1. 查看菜单')
print('2. 添加菜品')
print('3. 取消订单')
print('4. 查看订单')
print('0. 返回上级菜单')
choice = input('请选择:')
if not choice.isdigit():
print('输入有误,请重新输入')
continue
choice = int(choice)
if choice == 0:
break
elif choice == 1:
show_menu()
elif choice == 2:
add_order()
elif choice == 3:
cancel_order()
elif choice == 4:
show_order()
else:
print('输入有误,请重新输入')
# 主程序函数
def main():
while True:
choice = input('请选择登录方式(1. 客户 2. 管理员 0. 退出):')
if choice == '1':
customer_system()
elif choice == '2':
role = login()
if role == 'admin':
admin_system()
elif choice == '0':
break
else:
print('输入有误,请重新输入')
print('已退出系统')
if __name__ == '__main__':
main()
```
该代码实现了一个简单的点餐系统,包括登录、查看菜单、添加菜品、修改菜品、删除菜品、查看订单、取消订单等功能。但是该代码并未实现图形化界面,需要在代码基础上进行修改才能适配具体的使用场景。
py用户登录管理系统 用户登录需求: 1.输入用户名和密码; 2.判断用户名和密码是否正确(name=‘root’,passwd=‘westos’) 3.登录仅有三次机会,超过3次会报错
在Python中,创建一个简单的用户登录管理系统,可以采用面向对象的方式来实现。首先,我们需要设计一个`User`类来存储用户的账号信息,并提供登录方法。下面是一个简化的示例:
```python
class User:
def __init__(self):
self.login_attempts = 0
def login(self, username, password):
if self.login_attempts >= 3:
return "您已经尝试了3次登录,无法继续。"
correct_credentials = {'root': 'westos'}
if (username, password) == ('root', 'westos'):
self.login_attempts = 0
print("登录成功")
return True
else:
self.login_attempts += 1
if self.login_attempts < 3:
print(f"用户名或密码错误,尝试次数: {self.login_attempts}")
return False
else:
return self.login_attempts >= 3
# 创建用户实例并进行登录
user = User()
response = user.login('root', 'westos')
if not response:
print(user.login_attempts, "次尝试失败")
```
在这个例子中,我们限制用户有3次登录尝试,如果连续三次输入错误,将返回错误消息。如果登录成功,则清除已尝试次数。
阅读全文