如何在 Python 中验证用户输入

news2024/9/28 3:24:42

要验证用户输入:

  1. 使用 while 循环进行迭代,直到提供的输入值有效。
  2. 检查输入值在每次迭代中是否有效。
  3. 如果该值有效,则跳出 while 循环。
# ✅ 验证用户输入的是否是整数

num = 0

while True:
    try:
        num = int(input("Enter an integer 1-10: "))
    except ValueError:
        print("Please enter a valid integer 1-10")
        continue
    if num >= 1 and num <= 10:
        print(f'You entered: {num}')
        break
    else:
        print('The integer must be in the range 1-10')

# ----------------------------------------------

# ✅ 验证用户输入的是否是字符串


password = ''

while True:
    password = input('Enter your password: ')

    if len(password) < 5:
        print('Password too short')
        continue
    else:
        print(f'You entered {password}')
        break

print(password)

Python 验证用户输入

第一个示例在 while 循环中验证数字用户输入。

如果 try 块成功完成,则用户输入一个整数。

num = 0

while True:
    try:
        num = int(input("Enter an integer 1-10: "))
    except ValueError:
        print("Please enter a valid integer 1-10")
        continue
    if num >= 1 and num <= 10:
        print(f'You entered: {num}')
        break
    else:
        print('The integer must be in the range 1-10')

if 语句检查整数是否在 1-10 范围内,如果满足条件,我们就跳出 while 循环。

break 语句跳出最里面的 for 或 while 循环。

如果整数不在指定范围内,则 else 块运行并打印一条消息。

如果用户没有输入整数,则运行 except 块,我们使用 continue 语句再次提示用户。

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

在 while 循环中验证用户输入时,我们在输入无效时使用 continue 语句,例如在 except 块或 if 语句中。
如果输入有效,我们使用 break 语句退出 while 循环。

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

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

注意 ,即使用户输入数字,input() 函数也始终保证返回字符串。

我们可以在验证用户输入字符串时使用相同的方法。

这是一个提示用户输入的示例,直到他们输入至少 5 个字符长的值。

password = ''

while True:
    password = input('Enter your password: ')

    if len(password) < 5:
        print('Password too short')
        continue
    else:
        print(f'You entered {password}')
        break

print(password)

python 验证用户输入的字符串

while 循环不断迭代,直到用户输入一个长度至少为 5 的值。

如果值太短,我们使用 continue 语句继续下一次迭代。

如果该值至少有 5 个字符长,我们使用 break 语句作为输入有效。

如果需要检查多个条件,可以使用布尔值或和和运算符。

这是一个检查输入值是否至少有 5 个字符长且不在值列表中的示例。

password = ''

common_passwords = ['abcde', 'asdfg']

while True:
    password = input('Enter your password: ')

    if len(password) < 5 or password in common_passwords:
        print('Pick a strong password')
        continue
    else:
        print(f'You entered {password}')
        break

print(password)

python 验证用户输入的密码强度

if 语句检查密码是否少于 5 个字符或是否在常用密码列表中。

我们使用了布尔值或运算符,因此如果满足两个条件中的任何一个,if 块就会运行。

如果密码少于5个字符或者包含在常用密码列表中,我们继续下一次迭代,再次提示用户。

如果我们需要在验证输入时检查是否满足多个条件,请使用 and 布尔运算符。

password = ''

common_passwords = ['abcde', 'asdfg']

while True:
    password = input('Enter your password: ')

    if len(password) > 5 and password not in common_passwords:
        print(f'You entered {password}')
        break
    else:
        print('Pick a strong password')
        continue

print(password)

我们使用了 and 布尔运算符,因此要运行 if 块,必须满足两个条件。

密码必须超过 5 个字符,并且必须不在常用密码列表中。

如果条件满足,我们使用 break 语句退出 while True 循环。

如果条件不满足,我们使用 continue 语句继续下一次迭代。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/354158.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

python练习

项目场景一&#xff1a; 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢&#xff1f; 问题描述 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶…

一文讲明TCP网络编程、Socket套接字的讲解使用、网络编程案例

文章目录1 Socket讲解2 基于Socket的TCP编程3 客户端Socket的工作过程包含以下四个基本的步骤3.1 客户端创建Socket对象4 服务器程序的工作过程包含以下四个基本的步骤&#xff1a;4.1 服务器建立ServerSocket对象5 案例实现 客户端和服务端通信5.1 代码实现5.2 实现结果6 更多…

cgroup基础介绍

一项新概念的产生&#xff0c;必然有其原因&#xff0c;cgroup也不例外&#xff0c;最初由谷歌工程师Paul Menage和Rohit Seth提出【1】&#xff1a;因为计算机硬件能力越来越强大&#xff0c;为了提高机器的使用效率&#xff0c;可以在同一台机器上运行不同运算模型的工作。开…

安卓---第5章 数据存储---保存QQ账号与密码

文章目录案例1: 使用文件存储 保存QQ账号与密码功能描述saveqq_1.xmlFileSaveQQ.javasaveqq_1案例2 使用SP保存QQ账号与密码功能描述SPSaveQQ.java其他代码1. 数据存储方式2. 文件存储将数据存入文件中内部存储&#xff1a;外部存储&#xff1a;从文件中读取数据读取内部存储读…

信息系统服务管理

一、信息系统服务业及发展二、信息系统工程监理的概念及发展三、信息系统运行维护的概念和发展 IT服务管理&#xff08;ITSM) 四、信息技术服务管理的标准和框架 IT服务标准体系&#xff08;ITSS&#xff09; 一、信息系统服务业及发展 总结&#xff1a;前景很好 二、信息系…

计网传输层协议:UDP和TCP

文章目录一. 应用层和传输层的联系二. UDP协议三. TCP协议1. TCP报头介绍2. TCP实现可靠传输的核心机制2.1 确认应答2.2 超时重传3. 连接管理(三次握手, 四次挥手)3.1 建立连接(三次握手)3.2 断开连接(四次挥手)4. 滑动窗口5. 流量控制6.拥塞控制7. 延时应答8. 捎带应答9. 面向…

5.InfluxDB定时任务与报警

定时任务 InfluxDB的定时任务本质上是定时执行一个Flux脚本,一般回先查询数据再聚合修改最后可以写回另外一个bucket中 常用的定时任务使用场景 降采样 : 如果数据的输入频率特别快比如IOT温度计设备每秒往InfluxDB写入一条数据会有大量的数据写入一个InfluxDB的bucket (因为…

kubernetes教程 --Pod详解

Pod详解 每个Pod中都可以包含一个或者多个容器&#xff0c;这些容器可以分为两类&#xff1a; 用户程序所在的容器&#xff0c;数量可多可少 Pause容器&#xff0c;这是每个Pod都会有的一个根容器&#xff0c;它的作用有两个&#xff1a; 可以以它为依据&#xff0c;评估整个…

ADS仿真,3db均衡器是否可以补偿3db插入损耗?

背景高速信号走线经常会有走线超长的问题&#xff0c;走线过长带来的直接影响是对应的插入损耗IL会增加&#xff0c;当超过标准要求时需增加Redriver等补偿&#xff0c;最常用的调整时增加预加重和去加重。而调整预加重时首先遇到的一个问题是补偿多少db?是否3db的均衡就可以补…

剑指 Offer 21. 调整数组顺序使奇数位于偶数前面

摘要 剑指 Offer 21. 调整数组顺序使奇数位于偶数前面 一、双指针解析 考虑定义双指针 i , j分列数组左右两端&#xff0c;循环执行&#xff1a; 指针 i从左向右寻找偶数&#xff1b;指针 j从右向左寻找奇数&#xff1b;将偶数nums[i]和奇数 nums[j]交换。 可始终保证&…

C#:Krypton控件使用方法详解(第六讲) ——kryptonTextBox

今天介绍的Krypton控件中的kryptonTextBox&#xff0c;下面开始介绍这个控件的属性&#xff1a;首先介绍的是外观属性&#xff1a;Cursor属性&#xff1a;表示鼠标移动过该控件的时候&#xff0c;鼠标显示的形状。属性值如下图所示&#xff1a;Lines属性&#xff1a;表示在显示…

HTML转EXE工具(HTML App Build)最新版

HTML转EXE工具&#xff08;HTM2EXE&#xff09;最初发布于2022-08-17。可以将Web前端转换成Windows32或者64的EXE执行程序。当时由于时间紧&#xff0c;未能进行优化&#xff0c;特别是浏览器采用的是IE内核&#xff0c;所以使用起来会有一些兼容性问题&#xff0c;当时就记录了…

万字长文讲述由ChatGPT反思大语言模型的技术精要

文&#xff5c;张俊林 源&#xff5c;知乎张俊林 导读&#xff1a;ChatGPT出现后惊喜或惊醒了很多人。惊喜是因为没想到大型语言模型&#xff08;LLM&#xff0c;Large Language Model&#xff09;效果能好成这样&#xff1b;惊醒是顿悟到我们对LLM的认知及发展理念&#xff0c…

机器学习笔记

一 1.类型 有监督&#xff1a;分类、回归 无监督&#xff1a;聚类、降维 2.挑战&#xff1a; 过拟合&#xff1a;泛化能力弱 欠拟合&#xff1a;模型过于简单 二、 1.开发流程 数据收集->数据清洗->特征工程->数据建模 2.选择性能指标&#xff1a; 回归问题 均方根…

node-sass@4.14.1 包含风险, 如何升级依赖至 dart-sass

文章目录需求我上网都查到了哪些信息在 github 看到了 node-sass 依赖的最新版本的列表&#xff1a;关于方案2的失败不同版本的 nodejs 和 node-sass依赖的**适配关系**从何得知替代方案——dart-sass如何安装 dart sass&#xff1f;需求 在做一个基于Node、React的前端项目&a…

这才是打开Java面试的正确方式,金三银四互联网大厂Java面试八股来袭

前言 招聘旺季已经到了&#xff0c;不知道大家是否准备好了&#xff0c;面对金三银四的招聘旺季&#xff0c;如果没有精心准备那笔者认为那是对自己不负责任&#xff1b;就我们 Java 程序员来说&#xff0c;多数的公司总体上面试都是以自我介绍项目介绍项目细节/难点提问基础知…

【LeetCode】剑指 Offer(3)

目录 写在前面&#xff1a; 题目&#xff1a;剑指 Offer 09. 用两个栈实现队列 - 力扣&#xff08;Leetcode&#xff09; 题目的接口&#xff1a; 解题思路&#xff1a; 代码&#xff1a; 过啦&#xff01;&#xff01;&#xff01; 写在最后&#xff1a; 写在前面&…

追光进行时:沿着全光运力的新航道,加速驶向算力时代

2021年&#xff0c;工信部印发《新型数据中心发展三年行动计划&#xff08;2021—2023年&#xff09;》&#xff0c;明确指出“用3年时间&#xff0c;形成总体布局持续优化&#xff0c;全国一体化算力网络国家枢纽节点、省内数据中心、边缘数据中心梯次布局”&#xff0c;“算力…

LeetCode230218_148、654. 最大二叉树

给定一个不重复的整数数组 nums 。 最大二叉树 可以用下面的算法从 nums 递归地构建: 创建一个根节点&#xff0c;其值为 nums 中的最大值。 递归地在最大值 左边 的 子数组前缀上 构建左子树。 递归地在最大值 右边 的 子数组后缀上 构建右子树。 返回 nums 构建的 最大二叉树…

页面置换算法

页面置换算法 在进程运行过程中&#xff0c;若需要访问的物理块不在内存中&#xff0c;就需要通过一定的方式来将页面载入内存&#xff0c;而此时内存很可能已无空闲空间&#xff0c;因此就需要一定的算法来选择内存中要被置换的页面&#xff0c;这种算法就被称为页面置换算法…