python笔记基础--用户输入和while循环(4)

目录

一.用户输入

1.函数input( )

1.1用户输入

1.2数值输入int( )

1.3求模运算符%

二.循环while

1.使用while循环

2.退出

2.1让用户选择何时退出

2.2使用标志

2.3 break退出循环

2.4 continue

2.5避免无限循环

3.使用while循环处理列表和字典

3.1在列表之间移动元素

3.2删除为特定值的所有列表元素remove()

3.3使用用户输入来填充字典


一.用户输入

1.函数input( )

1.1用户输入

代码

结果

message = input("your name:")
print(f"你的名字是:{message}")

your name:double_自

你的名字是:double_自

prompt = "You see."
prompt += "\nWhat is your first name?"
name = input(prompt)
print(f"Hello,{name}!")

You see.

What is your first name?Dylan

Hello,Dylan!

1.2数值输入int( )

代码

结果

age = input("How old are you?")
print(f"年龄是:{age}岁。")

How old are you?188

年龄是:188岁。

height = input("你多重?")
height = int(height)
if height >= 48:
    print("\nYou're tall enough to ride!")
else:
    print("\nYou'll be able to ride when you're a little older.")

你多重?50

You're tall enough to ride!

1.3求模运算符%

代码

结果

number = input("输入一个数字:")
number = int(number)
if number%2 == 0:
    print(f"\nThe number {number} is even.")
else:
    print(f"\nThe number {number} is odd.")

输入一个数字:7

The number 7 is odd.

二.循环while

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

while循环:不断运行,直到指定的条件下满足为止。

1.使用while循环

代码

结果

c_number = 1
while c_number <= 4:
    print(c_number)
    c_number += 1

1

2

3

4

2.退出

2.1让用户选择何时退出

定义一个退出值,如果用户输入的不是这个值,程序就接着运行。

代码

结果

promet = "\nYes."
promet += "\nNo."
message = ""
while message != 'No':
    message = input(promet)
    print(message)

Yes.

No.no

no

Yes.

No.No

No

进程已结束,退出代码0

2.2使用标志

代码

结果

prompt = "\nYES"
prompt += "\nNO"
active = True
while active:
    message = input(prompt)
    if message == 'quit':
        active = False
    else:
        print(message)

YES

NOquit

进程已结束,退出代码0

2.3 break退出循环

退出所有循环

代码

结果

prompt = "\nYES"
prompt += "\nNO"
while True:
    city = input(prompt)
    if city == 'quit':
        break
    else:
        print(f"{city.title()}")

YES

NOquit

进程已结束,退出代码0

2.4 continue

退出本次循环

代码

结果

current_number = 0
while current_number < 5:
    current_number += 1
    if current_number % 2 == 0:
        continue
    print(current_number)

1

3

5

2.5避免无限循环

如果陷入了无限循环中,Ctrl+C可以关闭显示程序输出的终端窗口。

3.使用while循环处理列表和字典

3.1在列表之间移动元素

在验证用户的同时将其从未验证用户列表中提取出来,再将其加入另一个已验证用户列表中。

#首先,创建一个待验证用户列表和一个用于存储已验证用户的空列表
unconfirmed_users = ['alice','brian','candace']
confirmed_users = []

#验证每个用户,直到没有未验证用户为止
#将每个经过验证的用户都移到已验证用户列表中
while unconfirmed_users:
    current_user = unconfirmed_users.pop()
    print(f"Verifying user:{current_user.title()}")
    confirmed_users.append(current_user)
#显示所有已验证的用户
print("\nThe following users have been confirmed:")
for confirmed_user in confirmed_users:
    print(confirmed_user.title())

Verifying user:Candace

Verifying user:Brian

Verifying user:Alice

The following users have been confirmed:

Candace

Brian

Alice

3.2删除为特定值的所有列表元素remove()

pets = ['dog','cat','rabbit']
print(f"原来有的动物:{pets}")

#删除“cat"
while 'cat' in pets:
    pets.remove('cat')
print(f"删除'cat'的结果:{pets}")

原来有的动物:['dog', 'cat', 'rabbit']

删除'cat'的结果:['dog', 'rabbit']

3.3使用用户输入来填充字典

responses = {}

#设置一个标志,指出调查是否正确
polling_active = True
while polling_active:
    #提示输入被调查者的名字和回答
    name = input("\nWhat is your name?")
    response = input("Which mountain would you like to climb someday?")
    #将回答存储在字典中
    responses[name]=response
    #看是否还有人要参与调查问卷
    repeat = input("Would you like to let another person respond?(yes/no)")
    if repeat == 'no':
        polling_active = False
#调查结果,显示结果
print("\n---poll results---")
for name,response in responses.items():
    print(f"{name} would like to climb {response}.")

What is your name?Ann

Which mountain would you like to climb someday?abc

Would you like to let another person respond?(yes/no)yes

What is your name?Bob

Which mountain would you like to climb someday?jdsl

Would you like to let another person respond?(yes/no)no

---poll results---

Ann would like to climb abc.

Bob would like to climb jdsl.

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

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

相关文章

Day42:WEB攻防-PHP应用MYSQL架构SQL注入跨库查询文件读写权限操作

目录 PHP-MYSQL-Web组成架构 PHP-MYSQL-SQL常规查询 手工注入 PHP-MYSQL-SQL跨库查询 跨库注入 PHP-MYSQL-SQL文件读写 知识点&#xff1a; 1、PHP-MYSQL-SQL注入-常规查询 2、PHP-MYSQL-SQL注入-跨库查询 3、PHP-MYSQL-SQL注入-文件读写 MYSQL注入&#xff1a;&#xff…

什么是PLC物联网关?PLC物联网关有哪些功能?

在数字化浪潮的推动下&#xff0c;工业物联网&#xff08;IIoT&#xff09;正逐步成为推动制造业智能化转型的关键力量。而在这一变革中&#xff0c;PLC物联网关扮演着至关重要的角色。今天&#xff0c;就让我们一起走进PLC物联网关的世界&#xff0c;了解它的定义、功能&#…

5.3.1、【AI技术新纪元:Spring AI解码】OpenAI 图像生成

OpenAI 图像生成 OpenAI 图像生成前提条件自动配置图像生成属性连接属性重试属性运行时选项OpenAI 图像生成 Spring AI 支持 OpenAI 的图像生成模型 DALL-E。 前提条件 要访问 ChatGPT 模型,您需要创建一个 OpenAI 的 API 密钥。首先在 OpenAI 注册页面创建一个账户,并在 …

python使用pandas根据sheet名称读取内容,并转化为字典

要使用pandas读取指定sheet的内容并将其转化为字典&#xff0c;你需要先安装pandas库&#xff08;如果尚未安装的话&#xff09;&#xff0c;然后按照以下步骤操作&#xff1a; 导入pandas库。使用pandas的read_excel函数读取Excel文件。通过to_dict方法将DataFrame转化为字典…

计算机组成原理 例题集

补码的规格化表示是小数点后一位与符号位不同&#xff1a;数符为0,这个数就是正数,正数补码就是其本身,其最高有效位(阶码使用标准移码的话规格化后尾数最高有效位就是小数点后第一位)必定为1,数符0和最高有效位的1相异.数符为1,这个数就是个负数,求负数的补码有一步叫按位取反…

在服务器(Ubuntu20.04)安装用户级别的cuda11.8(以及仿照前面教程安装cuda11.3后安装cudnn和pytorch1.9.0)

1、cuda11.8的下载 首先在cuda官网下载我们需要的cuda版本&#xff0c;这里我下载的是cuda11.8&#xff08;我的最高支持cuda12.0&#xff09; 这里我直接使用wget命令下载不了&#xff0c;于是我直接在浏览器输入后面的链接下载到本地&#xff0c;之后再上传至服务器的&am…

Springboot+vue的四川美食分享网站+数据库+报告+免费远程调试

项目介绍: Springbootvue的四川美食分享网站。Javaee项目&#xff0c;springboot vue前后端分离项目 本文设计了一个基于Springbootvue的前后端分离的四川美食分享网站&#xff0c;采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&am…

python网络相册设计与实现flask-django-nodejs-php

此系统设计主要采用的是python语言来进行开发&#xff0c;采用django框架技术&#xff0c;框架分为三层&#xff0c;分别是控制层Controller&#xff0c;业务处理层Service&#xff0c;持久层dao&#xff0c;能够采用多层次管理开发&#xff0c;对于各个模块设计制作有一定的安…

【Java基础】了解Java安全体系JCA,使用BouncyCastle的ED25519算法生成密钥对、数据签名

文章目录 一.Java安全体系结构二.JCA和JCE三.CSP(加密服务提供程序)与Engine类1.CSP2.Engine类如何使用引擎类 四.查看当前JDK支持的算法服务提供商(Provider)五.BouncyCastle是什么六.如何使用BouncyCastle&#xff1f;七.bouncycastle实现ED25519工具类 一.Java安全体系结构 …

python文学名著分享系统的设计与实现flask-django-nodejs-php

在此基础上&#xff0c;结合现有文学名著分享体系的特点&#xff0c;运用新技术&#xff0c;构建了以python为基础的文学名著分享信息化管理体系。首先&#xff0c;以需求为依据&#xff0c;根据需求分析结果进行了系统的设计&#xff0c;并将其划分为管理员和用户二种角色和多…

【剑指offer】24. 机器人的运动范围(java选手)

题目链接 题目链接 题目描述 地上有一个 m 行和 n列的方格&#xff0c;横纵坐标范围分别是 0∼m−1 和 0∼n−1。 一个机器人从坐标 (0,0) 的格子开始移动&#xff0c;每一次只能向左&#xff0c;右&#xff0c;上&#xff0c;下四个方向移动一格。 但是不能进入行坐标和列…

NIVision-相机图像采集

应用场景 上位机与工业相机通讯&#xff0c;控制相机抓取图像。 工业相机的通讯接口大多为USB口或网口。 USB口则直接将通讯线缆插入上位机USB端口&#xff0c;打开MAX中设备与接口一栏可以看到电脑给相机分配的资源名称&#xff1b;网口则需要将网线连接相机和上位机&#xf…

uniapp的本地存储?

在uni-app中&#xff0c;你可以使用uni.setStorageSync和uni.getStorageSync来进行本地存储的操作。下面是一个简单的示例&#xff1a; // 将数据存储到本地 uni.setStorageSync(key, value);// 从本地获取数据 let data uni.getStorageSync(key); console.log(data); // 输出…

(附源码)基于Spring Boot + Vue 在线网课学习系统的设计与实现

前言 &#x1f497;博主介绍&#xff1a;✌专注于Java、小程序技术领域和毕业项目实战✌&#x1f497; &#x1f447;&#x1f3fb; 精彩专栏 推荐订阅&#x1f447;&#x1f3fb; 2024年Java精品实战案例《100套》 &#x1f345;文末获取源码联系&#x1f345; &#x1f31…

小程序最大页面跳转是几次?

小程序最大页面跳转次数是10次。在小程序的生命周期内&#xff0c;每次页面跳转都会被计入这个次数限制。

Llama 2 模型

非常清楚&#xff01;&#xff01;&#xff01;Llama 2详解 - 知乎 (zhihu.com)https://zhuanlan.zhihu.com/p/649756898?utm_campaignshareopn&utm_mediumsocial&utm_psn1754103877518098432&utm_sourcewechat_session一些补充理解&#xff1a; 序列化&#xff…

SQL运维_Unix下MySQL-8.0.18配置文件示例

SQL运维_Unix下MySQL-8.0.18配置文件示例 MySQL 是一个关系型数据库管理系统, 由瑞典 MySQL AB 公司开发, 属于 Oracle 旗下产品。 MySQL 是最流行的关系型数据库管理系统之一, 在 WEB 应用方面, MySQL 是最好的 RDBMS (Relational Database Management System, 关系数据库管…

使用阿里CICD流水线打包Java项目到阿里的docker镜像私仓,并自动部署到服务器启动服务

文章目录 使用阿里CICD流水线打包Java项目到阿里的docker镜像私仓&#xff0c;并自动部署到服务器启动服务1、功能原理实现2、将自己的Java项目通过Git上传到阿里的代码仓库中&#xff0c;也可以通过绑定Gitee或者GitHub账号进行导入3、创建自己的阿里云镜像私仓3、进入阿里的C…

GPT+向量数据库+Function calling=垂直领域小助手

引言 将 GPT、向量数据库和 Function calling 结合起来&#xff0c;可以构建一个垂直领域小助手。例如&#xff0c;我们可以使用 GPT 来处理自然语言任务&#xff0c;使用向量数据库来存储和管理领域相关的数据&#xff0c;使用 Function calling 来实现领域相关的推理和计算规…

学习 zustand

学习 zustand https://github.com/pmndrs/zustand告别繁杂的状态管理&#xff1a;Zustand 的简洁之道Zustand 状态库&#xff1a;轻便、简洁、强大的 React 状态管理工具关于 zustand 的一些最佳实践 代码库 https://gitee.com/nian_zuo_chen/learnrect/tree/master/zustand 安…