在 Python 中尝试 3 次的用户名和密码输入

目录

Username and password inputs with 3 attempts in Python

  1. 在 Python 中尝试 3 次的用户名和密码输入
  2. 当用户在 Python 中输入密码时显示星号
  3. Python 提示输入用户名和密码

在 Python 中尝试 3 次的用户名和密码输入

尝试 3 次获取用户名和密码输入值:

  1. 使用while循环最多迭代3次。
  2. 使用该input()函数从用户那里获取用户名和密码的值。
  3. 如果凭据正确,则跳出循环。
主程序
attemps = 0 while attemps < 3: username = input('Enter your username: ') password = input('Enter your password: ') if username == 'user123' and password == 'password123': print('You have successfully logged in.') break else: print('Incorrect credentials. Check if you have Caps lock on and try again.') attemps += 1 continue

用户名密码输入 3 次尝试

我们用一个while循环最多迭代3次。

在每次迭代中,我们都会提示用户输入用户名和密码,并检查这些值是否正确。

在用户输入时隐藏密码

如果要在用户键入时隐藏密码文本,请使用 方法
getpass()

主程序
import getpass attemps = 0 while attemps < 3: username = input('Enter your username: ') password = getpass.getpass('Enter your password: ') if username == 'user123' and password == 'password123': print('You have successfully logged in.') break else: print('Incorrect credentials. Check if you have Caps lock on and try again.') attemps += 1 continue

用户名密码输入 3 次尝试隐藏密码

我们使用
模块中的
getpass()
方法
getpass来提示用户输入密码而不回显。

getpass模块在标准库中可用,因此您无需安装任何东西。

getpass方法通常用于提示用户输入密码或其他敏感信息。

如果if语句中的两个条件都计算为True,则该if块将在我们跳出循环的地方运行while

break语句跳出最内层的for 或 while循环

如果一个或两个条件评估为False,则else块运行。

在该else块中,我们将attempts 变量递增1并继续循环的下一次迭代 while

continue 语句继续
循环的下一次迭代。

如果用户 3 次输入不正确的凭据,attempts变量将设置为并且不再满足循环3中的条件。while

当用户在 Python 中输入密码时显示星号

要在用户输入密码时显示星号:

  1. 安装pwinput()模块。
  2. 使用该pwinput()方法从用户那里获取输入并显示星号。
  3. 该方法采用mask可以设置为星号的参数。
主程序
import pwinput import getpass # ✅ display * (asterisks) when user types their password password = pwinput.pwinput(prompt='Enter your password: ', mask='*') print(password) # ------------------------------------------------ # ✅ don't display anything when user types their password password = getpass.getpass('Enter your password: ') print(password)
确保pwinput通过在项目的根目录中打开 shell 并运行pip install pwinput 命令来安装模块。
pip install pwinput # 👇️ or with pip3 pip3 install pwinput

现在您可以使用该 pwinput方法在用户输入密码时显示星号。

主程序
import pwinput password = pwinput.pwinput(prompt='Enter your password: ', mask='*') print(password)

输入密码星号

参数prompt是显示的消息,mask参数是用来屏蔽用户输入的内容。

如果您只想在用户输入密码时隐藏输入,请使用标准getpass模块。
主程序
import getpass password = getpass.getpass('Enter your password: ') print(password)

输入密码隐藏

模块中的getpass ()
方法
getpass用于在用户键入密码时隐藏输入。

getpass模块在标准库中可用,因此您无需安装任何东西。

getpass方法通常用于提示用户输入密码或其他敏感信息。

该方法采用的参数是显示给用户的消息。

如果未提供消息,则默认为“密码:”。

主程序
import getpass password = getpass.getpass() print(password)

输入密码隐藏默认信息

我们没有向该方法传递消息getpass(),因此它显示默认的“密码:”消息。

您可以使用该getpass()方法从用户那里获取任何其他敏感信息而不显示文本,它不一定是密码。

在 Python 中提示输入用户名和密码

提示用户输入用户名和密码:

  1. 使用该input()函数获取非敏感输入值,例如用户名。
  2. 使用该getpass()方法获取敏感值,例如密码。
主程序
import getpass # ✅ Prompt for username and password username = input('Enter your username: ') print(username) password = input('Enter your password: ') print(password) # ---------------------------------------------------- # ✅ Prompt for username and password with hidden inputs username = getpass.getpass('Enter your username: ') print(username) password = getpass.getpass('Enter your password: ') print(password)

第一个示例使用input()函数获取用户的用户名和密码。

input()函数在用户键入时显示文本。

用户输入用户名和密码

输入函数接受一个可选参数并将其写入标准输出prompt
没有尾随换行符。

然后该函数从输入中读取该行,将其转换为字符串并返回结果。

input()请注意,即使用户输入数字,该函数也保证返回一个字符串。

第二个示例使用该getpass方法获取用户的用户名和密码,而不在用户键入时显示文本。

主程序
import getpass username = getpass.getpass('Enter your username: ') print(username) password = getpass.getpass('Enter your password: ') print(password)

输入用户名和密码隐藏

我们使用
模块中的
getpass()
方法
getpass来提示用户输入而不回显。

getpass模块在标准库中可用,因此您无需安装任何东西。

getpass方法通常用于提示用户输入密码或其他敏感信息。

该方法采用的参数是显示给用户的消息。

您还可以组合解决方案并使用函数input()获取用户名和getpass()方法获取密码。

主程序
import getpass username = input('Enter your username: ') print(username) password = getpass.getpass('Enter your password: ') print(password)

输入用户名显示密码隐藏

input()函数提示输入用户名并在用户键入时显示文本。

getpass()方法提示输入用户密码并隐藏文本。

额外资源

您可以通过查看以下教程来了解有关相关主题的更多信息: