Python 用户输入和while循环

1、input()函数的工作原理(用户输入)

input()函数让程序暂停运行,等待用户输入一些文本。获取用户输入后,Python将其赋给变量,以其使用。

 在input()函数接受一个参数,既要向用户显示的提示,为了让用户知道改输出什么样的信息,在如上的代码中运行,用户会看见提示。等待用户输入,并在按回车键后继续运行。

1.1、使用int()来获取数值输入

在使用input()函数用来用户自定义输入时,默认将用户输入的元素解读为字符串。

当试图将该输入的值用于数值比较时,Python会报错,因为它无法让字符串与数值进行比较,这时就应该把用户输入的数值转换为数型。例:

注:在将数值输入用于计算和比较前,务必转换为数值表示。 

2、while循环简介

       for循环与while循环的区别:

for循环:用于针对集合的每个元素执行一个代码块

while循环:不断地运行,直到指定的条件不在满足则停止循环

2.1、使用while循环

可以使用while循环来数数。例:打印1~5的数:

num=1
while num <= 5:print(num)num += 1

只要num <= 5则接着循环,直到 num > 5时才停止,如下为输出:

2.2、使用break退出循环

      如果不管条件测试的结果如何,想立即退出while循环,不再运行循环中余下的代码。使用break语句,用于控制程序流程。

 如下,只要输入了quit就会停止程序,没输入quit程序就会一直执行提示你输入‘你去过的城市’:

while True:city = input("请输入你去过的城市:")if city == 'quit':breakelse:print(f"I'd love to go to {city.title()}")

输入了quit,遇到break语句,导致Python退出循环: 

2.3、在循环中使用continue

       要返回循环开头,并根据条件测试的结果决定是否继续执行循环。

   break语句与continue语句的区别:

break语句:退出循环

continue语句:退出当前循环,执行下一个循环

在 0~10的范围内只打印奇数:

sum=0
while sum < 10:sum += 1if sum % 2 ==0:continueprint(sum)

每当sum为偶数时,都会进行continue语句,遇到它退出当前循环,则sum为偶数就不会执行后面的print(sum)语句,而是返回循环的开头,开始一个新循环。输出如下: 

3、使用while循环处理贴标和字典

     for循环是一种遍历列表的有效方式,但不应该在for循环中修改列表,否则导致Python难以跟踪其中的元素。要在遍历列表的同时修改它,可使用while循环。

3.1、在列表之间移动元素

     假设有一个列表包含新注册但还未验证的网站用户。验证这些用户后,如何将他们移到已验证用户列表中呢?一种办法是使用一个while循环,在验证用户的同时将其从未验证用户列表中提取出来,在将其加入已验证用户列表。代码如下:

#首先,创建一个待验证用户列表
#和一个用于存储已验证用户的空列表
uncon=['alice','brian','candace']     #未验证列表
con=[]                                #空列表,用于存储已验证用户
#验证每个用户,直到没有未验证用户为止
#将每个经过验证的用户都移到已验证用户列表中
while uncon:curr = uncon.pop()      #每次从uncon列表的末尾删除一个未验证的数,并将这删除的数赋给变量currprint(f"Verifying_user:{curr.title()}")con.append(curr)                  #curr的元素加入列表con中,则为已验证
#显示所用的已验证用户
print("\n已验证的用户为: ")
for con in con :print(con.title())

未验证用户为空后结束循环:

3.2、使用用户输入填充字典

    可以使用while循环提示用户输入任意多的值。下面创建一个调查程序,其中循环在每次执行时都提示输入被调查者的名字和内容。我们将收集到的数据存储在一个字典中,以便将回答与被调查者关联起来:

resps={}   #创建一个空字典
#设置一个标签,指出调查是否继续
poll = True
while poll:name = input("名字为:")   #为字典中的键resp = input("内容为:")   #字典中的值resps[name]=resp          #将回答存储在字典中repeat = input("还有人要参加调查吗?(yes/no)")   #看是否还有人需要if repeat == 'no':poll = False
#调查结果,显示结果
print("\n---所用结果统计---")
for name,resp in resps.items():print(f"名字:{name} ,内容: {resp}.")

输入no结束调查: 

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux 利用 ftrace 分析内核调用

目录 一、概述二、ftrace 的使用1、常用信息2、指定 ftrace 跟踪器3、设置要跟踪的函数4、ftrace 的开关5、function 跟踪程序6、function_graph 跟踪程序7、函数过滤器8、跟踪事件 三、trace-cmd 的使用1、常见命令2、常用选项2.1 列出可用的追踪器2.2 跟踪特定进程的函数调用…

计算机毕业设计选题推荐-课程教学平台-Java/Python项目实战

✨作者主页&#xff1a;IT毕设梦工厂✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…

ceph

ceph是一个开源的&#xff0c;用c语言编写的分布式的存储系统。存储文件数据。 /dev/sdb fdisk /dev/sdb gdisk /dev/sdb lvm 逻辑卷 可以扩容 raid 磁盘 高可用 基于物理意义上的单机的存储系统。 分布式由多台物理磁盘组成一个集群&#xff0c;在这个基础之上实现高可…

激光导航AGV叉车那么多,究竟该怎么选?一篇文章讲明白~

AGV叉车 随着经济的快速发展&#xff0c;大部分企业的物料搬运开始脱离人工劳作&#xff0c;取而代之的是以叉车为主的机械化搬运。AGV叉车是工业搬运车辆&#xff0c;是指对成件托盘货物进行装卸、堆垛和短距离运输作业的各种轮式搬运车辆&#xff0c;主要应用于货场、工厂车间…

HslCommunicationDemo各品牌Plc通信测试软件工具

目录 1、HslCommunicationDemo程序包 2、ModbusTCP举例说明 (0)概述 &#xff08;1&#xff09;线圈写操作 &#xff08;2&#xff09;寄存器写操作 3、C#工程中DLL库文件使用 &#xff08;1&#xff09;创建Winform程序工程 &#xff08;2&#xff09;写寄存器 1、HslC…

基于内地城市生活垃圾收运场景的路线规划算法

基于混合遗传算法和模拟退火算法的优化垃圾收集路线规划 摘要 本文提出了一种基于混合遗传算法&#xff08;GA&#xff09;和模拟退火算法&#xff08;SA&#xff09;的创新路线规划方法&#xff0c;旨在优化内地城市的生活垃圾收集效率。算法结合了遗传算法的全局搜索能力和…

MySQL第1讲--详细安装教程和启动方法

文章目录 安装教程打开或关闭方式方式1&#xff1a;方式2&#xff1a; 客户端连接方式客户端连接方式1&#xff1a;客户端连接方式2&#xff1a;MySQL环境变量的配置 安装教程 1、mysql官网下载最新的符合本系统的版本 2、点击.msi文件进入安装页面 选择默认的选项开发者安…

15.DMDIS 工具优化

文章目录 前言一、安装部署安装数据源转换作业监控 二、性能优化问题 1 &#xff1a;DMETL 卡顿问题问题 2 &#xff1a;DM -> HIVE 的迁移速度慢问题 3 &#xff1a;ORACLE -> DM 的迁移速度慢问题 4 &#xff1a;GP -> DM 的迁移速度慢问题 5 &#xff1a;DM -> …

[ERR] 1273 - Unknown collation: ‘utf8mb4_0900_ai_ci‘(已解决)

今天在使用navicate Premium运行sql文件时出现如下错误&#xff1a; 错误&#xff1a;1273 - Unknown collation: utf8mb4_0900_ai_ci 报错原因&#xff1a; 生成转储文件&#xff08;也就是sql文件&#xff09;的数据库版本为8.0,而要运行sql文件的数据库版本为5.6,因为是高版…

Android进阶之路 - 字体加粗,定制化字体粗度

在客户端中不论是PC端&#xff0c;还是移动端主要价值之一就体现在用户交互方面&#xff0c;也就是用户体验了&#xff0c;接下来讲的是很常见的字体加粗问题 UI大找茬 深入浅出字体、字体库TextView文本渐变字体阴影、文字阴影字体加粗 - 定制化字体粗度 在开发中经常会遇到…

DFS之搜索顺序与剪枝

搜索顺序&#xff1a; 1.https://www.acwing.com/problem/content/1119/ 首先&#xff0c;我们考虑一个贪心&#xff1a; 假如说A的倒数K个字符恰好与B的前K个字符重合&#xff0c;那么我们就连接。 也就是说我们一旦匹配就直接相连而不是继续找更长的重合的一段子串。 因…

【学习方法】高效学习因素 ② ( 学习动机 | 内在学习动机 | 外在学习动机 | 外在学习动机的调整方向 | 保护学习兴趣 | 高考竞争分析 )

文章目录 一、高效学习的其它因素 - 学习动机1、学习动机2、内在学习动机3、外在学习动机4、外在学习动机的问题所在5、外在学习动机的调整方向6、保护学习兴趣7、高考竞争分析 上一篇博客 【学习方法】高效学习因素 ① ( 开始学习 | 高效学习因素五大因素 | 高效学习公式 - 学…

unplugin-vue-components 插件配置 忽略 部分目录下的组件自动导入

背景 vue3 项目 为了省略 第三方库ui 组件 全局组件的注册代码&#xff0c;使用了 unplugin-vue-components 插件 原理 组件识别 在编译阶段&#xff0c;unplugin-vue-components 会扫描 Vue 单文件组件&#xff08;.vue 文件&#xff09;的模板部分&#xff0c;识别出所有使…

day31

3.9 信号量集 1> 原理图 信号量集主要完成多个进程之间同步问题 2> 信号量集的API函数接口 1、创建用于生成消息队列的钥匙#include <sys/types.h>#include <sys/ipc.h>key_t ftok(const char *pathname, int proj_id);功能&#xff1a;通过给定的文件路径…

你也觉得FOTA升级难吗?这份详细教程让你自信升级!

前言&#xff1a; 我经常在各个讨论群里看到有合宙Air780EP的用户说&#xff1a; FOTA远程升级有点难呀~一步错后面就得重新来了&#xff0c;有没有大佬给个教程啊&#xff1f; 用户提需求了&#xff0c;那我们肯定要满足啊&#xff0c;就连夜赶了一篇 在整理这篇文章之前&…

掌握 LINQ:通过示例解释 C# 中强大的 LINQ的集运算

文章目录 集运算符原理实战示例1. Union2. Intersect3. Except4. ExceptWith5. Concat6. Distinct 注意事项总结 在C#中&#xff0c;LINQ&#xff08;Language Integrated Query&#xff09;提供了丰富的集合操作功能&#xff0c;使得对集合数据进行查询、过滤、排序等操作变得…

删除有序数组中的重复项(LeetCode)

题目 给你一个 升序排列 的数组 &#xff0c;请你 原地 删除重复出现的元素&#xff0c;使每个元素 只出现一次 &#xff0c;返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 中唯一元素的个数。 考虑 的唯一元素的数量为 &#xff0c;你需要做以下事情确…

CVE-2023-1313

开启靶场 url访问/install来运行安装 http://eci-2ze0wqx38em0qticuhug.cloudeci1.ichunqiu.com/install/ 得知其用户和密码为admin 登录 查找文件上传位置 上传一句话木马文件 <?php echo phpinfo();eval($_POST[flw]);?> 下载查看上传木马路径 复制路径 /storag…

代理IP如何助力品牌保护?

品牌是企业非常重要的无形资产&#xff0c;代表着一个公司、一个产品或服务的价值、信誉和形象。在竞争激烈的市场中&#xff0c;一个强有力的品牌可以帮助公司吸引更多的客户、提高销售、提高客户满意度和忠诚度&#xff0c;还可以帮助公司建立和维护其声誉、增强其企业形象&a…

单词拆分——LeetCode

139.单词拆分 题目 给你一个字符串 s 和一个字符串列表 wordDict 作为字典。如果可以利用字典中出现的一个或多个单词拼接出 s 则返回 true。 注意&#xff1a;不要求字典中出现的单词全部都使用&#xff0c;并且字典中的单词可以重复使用 示例 1&#xff1a; 输入: s &qu…