编写一个程序,有字典如下: dic = {'admin':'123456','administrator':'12345678','root':'password'} 实现用户输入用户名和密码,当用户名与密码和字典中的键值对匹配时,显示“登录成功”,否则显示“登录失败”,登录失败时允许重复输入三次。
时间: 2023-12-16 07:03:50 浏览: 82
好的,以下是实现该程序的代码:
```
dic = {'admin':'123456','administrator':'12345678','root':'password'}
for i in range(3): # 允许重复输入三次
username = input('请输入用户名:')
password = input('请输入密码:')
if username in dic and dic[username] == password:
print('登录成功')
break
else:
print('登录失败')
else:
print('超过最大重试次数,退出登录')
```
程序运行时,会提示用户输入用户名和密码,然后通过循环判断用户名和密码是否匹配字典中的键值对,如果匹配则显示“登录成功”,并跳出循环,否则显示“登录失败”,并允许用户重新输入。如果连续输入三次均失败,则提示“超过最大重试次数,退出登录”。
相关问题
有字典如下: dic = {'admin':'123456','administrator':'12345678','root':'password'} 实现用户输入用户名和密码,当用户名与密码和字典中的键值对匹配时,显示“登录成功”,否则显示“登录失败”,登录失败时允许重复输入三次。
### 回答1:
可以使用while循环和if语句实现:
dic = {'admin':'123456','administrator':'12345678','root':'password'}
count = # 计数器,记录输入次数
while count < 3: # 最多允许输入三次
username = input("请输入用户名:")
password = input("请输入密码:")
if username in dic and dic[username] == password: # 判断用户名和密码是否匹配
print("登录成功")
break # 登录成功后跳出循环
else:
print("登录失败")
count += 1 # 计数器加1
if count == 3: # 输入三次后仍然失败
print("登录失败次数过多,程序退出")
### 回答2:
本题需要用到Python的基本语法和字典的相关知识。首先,我们可以使用input()函数来获取用户输入的用户名和密码。接着,通过判断输入的用户名和密码是否与字典中的键值对匹配,来判断是否成功登录。
代码如下:
```python
dic = {'admin':'123456','administrator':'12345678','root':'password'}
count = 0 # 用来记录重复输入的次数
while True:
username = input("请输入用户名:")
password = input("请输入密码:")
if username in dic and dic[username] == password:
print("登录成功")
break
else:
count += 1
if count == 3:
print("登录失败,您已经尝试了3次")
break
print("用户名或密码错误,请重新输入")
```
解释:
首先定义一个字典dic,其中存储了几个用户名和相应的密码。然后设置一个计数器count,用来记录重复输入的次数。接着,使用while循环,不断地获取用户输入的用户名和密码,并判断是否匹配字典中的键值对。如果匹配,则输出“登录成功”,并使用break语句结束循环。如果不匹配,则将重复输入的次数加1,如果已经重复输入了3次,则输出“登录失败,您已经尝试了3次”,并使用break语句结束循环。否则,输出“用户名或密码错误,请重新输入”。
以上代码简单实用,可以满足题目要求。
### 回答3:
首先,我们可以使用 Python 的 input() 函数获取用户的输入,分别获取用户名和密码。然后,我们可以使用字典的 get() 方法,根据用户名获取对应的密码,再将输入密码与获取的密码进行比对。
代码如下:
```python
dic = {'admin': '123456', 'administrator': '12345678', 'root': 'password'}
count = 0
while count < 3:
username = input('请输入用户名:')
password = input('请输入密码:')
if dic.get(username) == password:
print('登录成功!')
break
else:
count += 1
if count == 3:
print('登录失败,三次机会已用尽。')
break
else:
print('登录失败,请重新输入。')
```
在这段代码中,我们使用了一个 while 循环来实现重复输入的功能。当输入的用户名与密码不匹配时,将 count 变量加一,同时判断是否已经达到了三次输入限制。如果达到三次限制,输出提示信息并退出循环,否则输出重新输入的提示信息。
如果输入的用户名和密码与字典中的键值匹配,就会执行 break 语句跳出循环,并输出“登录成功”的提示信息。
以上是简单的设计,实际应用中可能还需要添加一些其他的安全性保障,如:加盐,加密等。
描述:有字典如下: dic = {'admin':'123456','administrator':'12345678','root':'password'} 要求:实现用户输入用户名和密码,当用户名与密码和字典中的键值对匹配时,显示 “登录成功”,否则显示“登录失败”,登录失败时允许重复输入三次。 输入格式:在两行中分别输入用户名和密码 输出格式:"登录成功"或"登录失败" 输入示例 输出示例 示例1 admin 登录失败 12345678 示例2 admin 登录成功 123456
可以使用字典的get方法来判断用户名和密码是否匹配:
```python
dic = {'admin':'123456','administrator':'12345678','root':'password'}
for i in range(3):
username = input()
password = input()
if dic.get(username) == password:
print("登录成功")
break
else:
print("登录失败")
```
首先定义了一个字典,然后用for循环重复输入三次用户名和密码。对于每次输入,使用字典的get方法来获取对应的密码,如果密码匹配则输出“登录成功”,并且使用break跳出循环;否则输出“登录失败”。