目录
Username and password inputs with 3 attempts in Python
在 Python 中尝试 3 次的用户名和密码输入
尝试 3 次获取用户名和密码输入值:
- 使用
while
循环最多迭代3次。 - 使用该
input()
函数从用户那里获取用户名和密码的值。 - 如果凭据正确,则跳出循环。
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
我们用一个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
我们使用
模块中的getpass()
方法getpass
来提示用户输入密码而不回显。
该getpass
模块在标准库中可用,因此您无需安装任何东西。
getpass
方法通常用于提示用户输入密码或其他敏感信息。如果if
语句中的两个条件都计算为True
,则该if
块将在我们跳出循环的地方运行while
。
break语句跳出最内层的for 或 while循环。
如果一个或两个条件评估为False
,则else
块运行。
else
块中,我们将attempts
变量递增1
并继续循环的下一次迭代。 while
continue 语句继续
循环的下一次迭代。
如果用户 3 次输入不正确的凭据,attempts
变量将设置为并且不再满足循环3
中的条件。while
当用户在 Python 中输入密码时显示星号
要在用户输入密码时显示星号:
- 安装
pwinput()
模块。 - 使用该
pwinput()
方法从用户那里获取输入并显示星号。 - 该方法采用
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 中提示输入用户名和密码
提示用户输入用户名和密码:
- 使用该
input()
函数获取非敏感输入值,例如用户名。 - 使用该
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()
方法提示输入用户密码并隐藏文本。
额外资源
您可以通过查看以下教程来了解有关相关主题的更多信息:
- 如何在 Python 中将用户输入添加到字典
- 如何从 Python 中的用户输入中获取列表
- 如何在 Python 中检查用户输入是否为空
- 在 Python 中使用 For 或 While 循环获取用户输入
- 在 Python 中获取用户输入的布尔值(真/假)
- 如何在 Python 中根据用户输入创建日期
- 从 Python 中的用户输入获取文件路径
- 如何在 Python 中获取 Float 用户输入
- Python 中的多行用户输入
- 在 Python 中只接受来自用户输入的单个字符
- 在 Python 中根据用户输入创建元组或集合
- 如何在 Python 中验证用户输入
- 是/否关于 Python 中用户输入的问题