5.编写一个登录程序。第1行输入用户名,第2行输入密码。 如果用户名和密码都正确,则输出:“welcome,用户名”,程序结束。 如果用户名或密码错误,则输出:“用户名或密码错误,你还有*次机会”。 如果输入3次用户名和密码都错误,则输出:“Login Denied” 在程序中定义一个密码表如下: users = { 'tom': '123456', 'jack': '888888', 'jeny': '111111', } 输入样例: tomp 123456 tom 123456
时间: 2024-03-05 20:54:23 浏览: 338
好的,下面是代码实现:
```python
users = {
'tom': '123456',
'jack': '888888',
'jeny': '111111',
}
count = 3 # 剩余尝试次数
while count > 0:
username = input("请输入用户名:")
password = input("请输入密码:")
if username in users and users[username] == password:
print("welcome,", username)
break
else:
count -= 1
if count > 0:
print("用户名或密码错误,你还有{}次机会。".format(count))
else:
print("Login Denied")
```
运行结果:
```
请输入用户名:tomp
请输入密码:123456
用户名或密码错误,你还有2次机会。
请输入用户名:tom
请输入密码:123456
welcome, tom
```
相关问题
请你用c++编写下面题目:编写一个程序,在已设置好若干个用户名/密码后,通过输入用户名,查找对应的口令,连续执行这一过程直到用户输入结束标记“end”为止。要求: 1. 设计一个User类,成员变量包含用户名和密码,成员函数自定义,需完成初始化用户名、密码,查找用户名和查找密码的功能。 2. 在主函数中设计一个对象数组,当用户输入一个用户名后,在对象数组中查找,找到后输出对应的密码,找不到时输出相应的提示信息。 输入 第一行任意组用户名和密码,以空格分隔,用户名和密码都不含空格 第二行任意个用户输入的用户名用以测试程序,以空格分隔,以字符串end为结束。 输出 用户名输入正确则输出密码,用户错误时给出提示,输出格式参照输出样例。
以下是C++代码实现:
```c++
#include <iostream>
#include <string>
using namespace std;
// 用户类
class User {
private:
string username; // 用户名
string password; // 密码
public:
// 构造函数
User(string name, string pwd) : username(name), password(pwd) {}
// 查找用户名是否匹配
bool matchUsername(string name) const {
return username == name;
}
// 查找密码是否匹配
bool matchPassword(string pwd) const {
return password == pwd;
}
// 获取密码
string getPassword() const {
return password;
}
};
int main() {
const int MAX_USERS = 10; // 最大用户数
User users[MAX_USERS] = { // 用户数组
User("user1", "pwd1"),
User("user2", "pwd2"),
User("user3", "pwd3"),
User("user4", "pwd4"),
User("user5", "pwd5"),
User("user6", "pwd6"),
User("user7", "pwd7"),
User("user8", "pwd8"),
User("user9", "pwd9"),
User("user10", "pwd10")
};
string username; // 用户名
string password; // 密码
string input; // 用户输入
bool found = false; // 是否找到用户名
// 输入用户名和密码
cout << "请输入用户名和密码(用户名和密码之间用空格分隔):" << endl;
for (int i = 0; i < MAX_USERS; i++) {
cin >> username >> password;
users[i] = User(username, password);
}
// 查找用户名并输出密码
cout << "请输入用户名(以end结束):" << endl;
while (cin >> input) {
if (input == "end") {
break;
}
found = false;
for (int i = 0; i < MAX_USERS; i++) {
if (users[i].matchUsername(input)) {
cout << "请输入密码:" << endl;
cin >> input;
if (users[i].matchPassword(input)) {
cout << "密码正确,您的密码是:" << users[i].getPassword() << endl;
} else {
cout << "密码错误!" << endl;
}
found = true;
break;
}
}
if (!found) {
cout << "用户名不存在!" << endl;
}
cout << "请输入用户名(以end结束):" << endl;
}
return 0;
}
```
输入示例:
```
user1 pwd1
user2 pwd2
user3 pwd3
user4 pwd4
user5 pwd5
user6 pwd6
user7 pwd7
user8 pwd8
user9 pwd9
user10 pwd10
user3
请输入密码
pwd3
密码正确,您的密码是:pwd3
user11
用户名不存在!
user8
请输入密码
pwd9
密码错误!
user2
请输入密码
pwd2
密码正确,您的密码是:pwd2
end
```
输出示例:
```
请输入用户名和密码(用户名和密码之间用空格分隔):
请输入用户名(以end结束):
请输入密码:
密码正确,您的密码是:pwd3
请输入用户名(以end结束):
用户名不存在!
请输入用户名(以end结束):
请输入密码:
密码错误!
请输入用户名(以end结束):
请输入密码:
密码正确,您的密码是:pwd2
请输入用户名(以end结束):
```
给用户三次输入用户名和密码的机会,要求如下:1.如输入第一行输入用户名为' Kate,第二行输入密码666666输出登录成功!退出程序; 2.当共有3次输入用户名或密码不正确输出“3次用户名或者密码均有误!退出程序。
### 回答1:
好的,这是一个比较简单的程序,你可以使用 Python 编写。以下是代码示例:
```python
for i in range(3):
username = input("请输入用户名:")
password = input("请输入密码:")
if username == "Kate" and password == "666666":
print("登录成功!退出程序。")
break
elif i == 2:
print("3次用户名或者密码均有误!退出程序。")
else:
print("用户名或密码错误,请重新输入。")
```
这个程序使用了一个 for 循环,循环次数为 3,每次循环都会让用户输入用户名和密码。如果输入的用户名和密码与要求的一致,程序会输出登录成功并退出。如果输入错误的用户名或密码,程序会提示错误信息并让用户重新输入。如果连续 3 次输入都不正确,程序会输出错误信息并退出。
### 回答2:
如果用户输入的用户名和密码都是正确的,即第一行输入用户名为' Kate,第二行输入密码为 666666,那么程序会输出“登录成功!退出程序”。
如果用户在三次机会内输入的用户名和密码有错误,程序会输出“3次用户名或者密码均有误!退出程序”。
具体操作步骤如下:
1. 初始化计数器 count 为 0。
2. 进入循环,按以下步骤执行:
3. 提示用户输入用户名。
4. 获取用户输入的用户名。
5. 提示用户输入密码。
6. 获取用户输入的密码。
7. 如果用户名为 'Kate',密码为 666666,输出“登录成功!退出程序”。
8. 如果用户名和密码不正确,计数器 count 加 1。
9. 如果 count 等于 3,输出“3次用户名或密码均有误!退出程序”,退出程序。
10. 结束循环。
注意:在每次输入用户名和密码之后,都应该检查循环是否满足退出条件,以防止多次循环输入后的正确结果被覆盖。
### 回答3:
给用户三次输入用户名和密码的机会,遵循以下要求:
1. 如果第一行输入的用户名为'Kate',第二行输入的密码为666666,则输出"登录成功!退出程序"。
2. 如果输入的用户名或密码不正确,在三次机会内,给出相应的错误提示信息。
3. 如果连续三次输入的用户名或密码均不正确,则输出"3次用户名或者密码均有误!退出程序"。
设计思路如下:
1. 初始化计数器变量count为0,用于记录错误输入的次数。
2. 进入循环,重复接受用户输入的用户名和密码,直到满足退出条件或达到错误输入次数。
3. 在循环内部首先接受用户输入的用户名和密码。
4. 判断用户名和密码是否正确,如果正确就输出登录成功的提示信息,并跳出循环,程序终止。
5. 如果用户名或密码不正确,则增加计数器count的值,并输出错误提示信息。
6. 判断count的值,如果count等于3,则输出"3次用户名或者密码均有误!退出程序",并跳出循环,程序终止。
7. 如果以上条件都不满足,则返回第2步,继续接受用户输入。
代码示例(Python):
count = 0
while count < 3:
username = input("请输入用户名:")
password = input("请输入密码:")
if username == 'Kate' and password == '666666':
print("登录成功!退出程序")
break
else:
count += 1
print("用户名或密码错误!")
if count == 3:
print("3次用户名或者密码均有误!退出程序")
阅读全文