题目描述 小T所在学校的校园教务系统为每位同学开通了一个账号,随机设定并告知了初始密码。 但是由于小T之前没有保存好密码,现在只好硬着头皮凭记忆去尝试输入密码进行登录。 每个系统最多有10次输错密码的机会,小T先在纸上列出了10个密码,请你帮小T检查下 他能够在第几次成功登录。 输入格式 一至十行,每行一串字符串,表示小T列出的一种可能密码。 第十一行一串字符串,表示系统设定的初始密码。 以上提到的密码,长度均不超过100,且不包含空格。 输出格式 一个整数,表示小T第几次能够正确登上系统。 若十次密码都错误,输出-1。
时间: 2024-02-11 11:08:38 浏览: 30
这道题目可以用简单的字符串匹配来解决。具体思路是,首先读入系统初始密码,然后对于每输入一个密码,都判断该密码是否与初始密码相同,如果相同则输出当前输入次数,否则继续输入密码,直到输入10次密码或者找到正确的密码。
以下是 Python 代码实现:
```python
password = input() # 读入系统初始密码
for i in range(10):
guess = input() # 读入一个密码
if guess == password: # 判断该密码是否正确
print(i+1) # 输出当前输入次数
break
else:
print(-1) # 没有找到正确的密码,输出-1
```
注意,上面的 `else` 是针对 `for` 循环的,表示在循环结束时(即所有密码都输入完毕)如果没有执行 `break` 语句,则执行 `else` 中的代码。在这道题目中,如果循环结束时还没有找到正确的密码,则输出 `-1`。
相关问题
题目描述:小T所在学校的校园教务系统为每位同学开通了一个账号,随机设定并告知了初始密码。 但是由于小T之前没有保存好密码,现在只好硬着头皮凭记忆去尝试输入密码进行登录。 每个系统最多有10次输错密码的机会,小T先在纸上列出了10个密码,请你帮小T检查下 他能够在第几次成功登录。 输入格式:一至十行,每行一串字符串,表示小T列出的一种可能密码。 第十一行一串字符串,表示系统设定的初始密码。 以上提到的密码,长度均不超过100,且不包含空格。 输出格式:一个整数,表示小T第几次能够正确登上系统。 若十次密码都错误,输出-1。c++实现
这道题目可以用简单的字符串匹配来解决。具体思路是,首先读入系统初始密码,然后对于每输入一个密码,都判断该密码是否与初始密码相同,如果相同则输出当前输入次数,否则继续输入密码,直到输入10次密码或者找到正确的密码。
以下是 C++ 代码实现:
```c++
#include <iostream>
#include <string>
using namespace std;
int main() {
string password;
cin >> password; // 读入系统初始密码
for (int i = 0; i < 10; i++) {
string guess;
cin >> guess; // 读入一个密码
if (guess == password) { // 判断该密码是否正确
cout << i+1 << endl; // 输出当前输入次数
return 0;
}
}
cout << -1 << endl; // 没有找到正确的密码,输出-1
return 0;
}
```
注意,这里的 `return 0;` 表示正常退出程序,而 `return 1;` 表示程序异常退出。
题目描述 小T所在学校的校园教务系统为每位同学开通了一个账号,并设定了初始密码。 初始密码为姓名拼音+生日。例如姓名拼音为"xiaoming",生日是8月18号(对应"0818",月或日不足两位数前面添一位0),则初始密码为"xiaoming0818"。 现在某同学要登录该系统,输入其姓名和生日,以及填入的密码。请帮该同学检查他是否可以成功登录系统。 输入格式 第一行一串字符串,表示姓名拼音。 第二行两个整数,表示生日的月份和天数,空格隔开; 第三行一串字符串,表示输入密码。 以上涉及密码信息长度均不超过100,且不包含空格。 输出格式 两行。 第一行是一串字符串,表示正确密码。 第二行为登录提示,成功输出yes,密码不正确输出no。
这道题目的思路是先根据输入的姓名和生日拼接出正确的密码,然后与输入的密码进行比较,判断是否相同。
以下是 Python 代码实现:
```python
name = input() # 读入姓名拼音
month, day = input().split() # 读入生日的月份和天数
password = name + month.zfill(2) + day.zfill(2) # 拼接正确的密码
print(password) # 输出正确密码
if input() == password: # 判断输入密码是否正确
print("yes") # 登录成功
else:
print("no") # 登录失败
```
注意,上面的 `zfill` 方法是为了将月份和天数转换成两位数格式,如果原来已经是两位数则不会改变。