84.python input输入函数知识拓展

news2024/11/16 3:44:00

1. input函数知识回顾

input[ˈɪnpʊt]输入,投入。

【功能】

input函数可以提示并接收用户输入的内容,将所有的输入内容按照字符串进行处理,并返回一个字符串。

【语法】

input(prompt)

【参数说明】

prompt[prɒmpt]:提示。

prompt:可选参数,表示提示信息。

2. input常犯错误解析

input 函数的作用是从电脑终端即用键盘向程序输入内容。

【错误代码示例】

weight = int(input('50'))
height = float(input('1.68'))
bmi = weight/(height**2)
print(bmi)

关于input函数我收到了很多小伙伴的提问,基本错误都是和上面的代码段的错误相同。

错误原因是大家不理解从终端输入的意思,直接将我们要从终端输入的数据作为input函数的提示语放在input函数里。

写上面代码的小伙伴想表达的意思是输入体重50,身高1.68,然后让程序计算输出bmi

大家要注意input函数引号中的内容仅作为输入提示语言,它不是我们要输入的数值。

我们要输入的数值是不会在代码段中看到的,它是运行代码后从键盘中输入的。

修改上面的代码如下:

weight = int(input("请输入您的体重:"))
height = float(input("请输入您的身高:"))
bmi = weight/(height**2)
print(bmi)

我用的是vscode编辑器,新建一个84.py文件,在该py文件中运行上述代码:

我如果在py文件中运行上述代码,则终端在程序的最下方。

在这里插入图片描述

运行后,下方会有一个中文提示请输入您的体重:

在这个提示后输入您想输入的数值,这里我输入的数值是50

回车后,程序会给出第2句中文提示请输入您的身高,在该提示后输入您要输入的身高数值即可。

weight = int(input("请输入您的体重:"))

input函数中的"请输入您的体重:"仅仅是提示语。

引号里有什么提示语句程序终端就会提示什么。

如果引号里没有提示,则终端也不会有提示语句,你直接输入数值即可。

你如果是在vscode编辑器中的ipynb文件中运行代码,则输入提示框在最上方。

在这里插入图片描述

3. 用函数转换从终端输入的数据

input函数接收的数据是以字符串类型进行存储的。

如果终端输入的数据需要参与算术运算,我们要转换其数据类型。

3.1 输入的数为整数,则用int转换为整数

weight = int(input("请输入您的体重:"))
print(weight)
print(type(weight))

【终端输出】

50
<class 'int'>

我在终端输入的是5050是整数,如果我需要的就是整数,则用intstr类型的数据转换为整数。

3.2 输入的数为浮点数,则用float转换为浮点数

height = float(input("请输入您的身高:"))
print(height)
print(type(height))

【终端输出】

1.68
<class 'float'>

我在终端输入的是1.681.68是浮点数,如果我需要的就是浮点数,则用floatstr类型的数据转换为浮点数。

3.3 不考虑输入的数据类型,则用eval函数转换

如果我不想考虑终端输入的数据类型,输入什么类型的数据,就转换成什么类型的数据,这种情况下直接使用eval函数即可。

【eval函数功能】

eval函数的功能就是脱去字符串的引号。

  1. 如果eval函数的参数是运算表达式,那输出该表达式的计算结果。

  2. 如果eval函数的参数仅仅是一个数值的字符串,那eval的作用是脱去字符串的引号,直接输出该数值。整数就输出整数,浮点数就输出浮点数。

weight = eval(input("请输入您的体重:"))
height = eval(input("请输入您的身高:"))
print(weight)
print("weight的数据类型为:", type(weight))
print(height)
print("height的数据类型为:",type(height))

【终端输出】

50
weight的数据类型为: <class 'int'>
1.68
height的数据类型为: <class 'float'>

4. 变量的多种赋值方式

4.1 一个变量存储一个数值

input函数给a,b,c3个变量赋值,值分别为0.5,2,4

a = input("请输入一个数:")
b = input("请输入一个数:")
c = input("请输入一个数:")
print(a,b,c)

【终端输出】

0.5 2 4

这是我们之前学过的赋值方法,每行代码只能给一个变量赋值。

但其实,我们也可以用一行代码完成上面3行代码的赋值动作。

a, b, c= eval(input("请一次性输入3个数:"))
print(a,b,c)
print(type(a))
print(type(b))
print(type(c))

【终端输出】

0.5 2 4
<class 'float'>
<class 'int'>
<class 'int'>

我们用eval函数可以从终端一次性输入多个数值。

eval函数同时能将输入的字符串类型数据转换为能进行数学运算的整数或浮点数类型的数据。

【温馨提示】

在终端给3个变量a,b,c赋值时,3个值之间用英文逗号,分隔。

终端输入的样式如下:

0.5,2,4

4.2 多个变量存储多个数值

有时候,我们需要将多个数值存储到一个变量里,这该如何操作呢?

【方法1】

t  = eval(input("请输入3个数值:"))
print(t)
print(type(t))

【终端输出】

(0.5, 2, 4)
<class 'tuple'>

eval函数从终端一次性输入多个数值并赋值给一个变量,该变量的数据类型为元组。

【方法2】

l = list(map(eval,input("请输入3个数值:").split(",")))
print(l)
print(type(l))

【终端输出】

[0.5, 2, 4]
<class 'list'>

split函数是将字符串进行分割。

input函数接收了从终端输入的数值,是一个字符类型的数据,该数据是map函数第2个参数,即要操作的可迭代对象。

map函数的第1个参数是eval函数,它的作用是将可迭代对象映射为可以参与运算的数值。返回的是迭代器。

最后利用list函数将其转换为列表,因此程序最终输出了[0.5, 2, 4]

【温馨提示】

这样的方法是多个函数的综合运用。如果对该方法不理解,需要对每个函数的知识点进行重温,相信重温后你就能豁然开朗了。

在这里插入图片描述

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

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

相关文章

OpenCV教程——OpenCV环境配置及第一个测试代码

1.OpenCV简介 OpenCV是一个计算机视觉的开源库。英文全称是&#xff1a;Open Source Computer Vision Library。 常用的OpenCV的核心模块&#xff1a; Image ProcessCamera Calibration and 3D ReconstructionVideo AnalysisObject DetectionMachine LearningDeep LearningG…

【Linux】Linux安装Git(图文解说详细版)

文章目录 前言第一步&#xff0c;官网下载安装包第二步&#xff0c;解压安装包第三步&#xff0c;安装编译环境第四步&#xff0c;编译源码第五步&#xff0c;安装git第六步&#xff0c;配置环境变量 前言 服务器版本&#xff1a;CentOS7.8 git官网&#xff1a;https://git-sc…

汽车出租系统【纯控制台】(Java课设)

系统类型 纯控制台类型&#xff08;没有用到数据库&#xff09; 使用范围 适合作为Java课设&#xff01;&#xff01;&#xff01; 部署环境 jdk1.8Idea或eclipse 运行效果 本系统源码地址&#xff1a;https://download.csdn.net/download/qq_50954361/87753364 更多系统…

Qt5.14.2安装教程

之所以选择安装Qt5.14.2&#xff0c;是因为从5.15.0起&#xff0c;对于开源用户&#xff0c;Qt官方不再提供独立安装文件&#xff0c;源码安装听说很繁琐&#xff0c;并且还要激活码。 官网下载链接&#xff1a;https://download.qt.io/archive/qt/5.14/5.14.2/ 1、Windows用户…

智能优化算法:基于驾驶训练的优化算法-附代码

智能优化算法&#xff1a;基于驾驶训练的优化算法 文章目录 智能优化算法&#xff1a;基于驾驶训练的优化算法1. 基于驾驶训练优化算法1.1 初始化1.2 阶段一&#xff1a;驾驶教练培训&#xff08;探索阶段&#xff09;1.3 阶段二&#xff1a;学员学习&#xff08;探索阶段&…

Jupyter notebook 如何设定默认的保存目录?

前言&#xff1a; 做智能车的时候&#xff0c;Jupter Notebook的默认保存在可怜的C盘&#xff0c;本来就很紧张的C肯定受不了&#xff0c;要改到别的地方&#xff0c;网上找了一些参考&#xff0c;说变更一下配置地址就可以了&#xff0c;照着做&#xff0c;99%的博客说&#x…

Linux驱动开发笔记(一):helloworld驱动源码编写、makefile编写以及驱动编译基本流程

若该文为原创文章&#xff0c;转载请注明原文出处 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/130534343 红胖子网络科技博文大全&#xff1a;开发技术集合&#xff08;包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬…

算法和算法竞赛的知识点

2023年5月7日&#xff0c;周日早上&#xff1a; 虽然今天早上我作出了改变学习算法方式的决定&#xff0c;但是知识点有哪些、具体该怎么做还没搞清楚&#xff0c;于是去刷题网站截图了它们的标签。 或许看相关书籍的知识点和题单也不错。 LeetCode的知识点 力扣 蓝桥杯的知识…

2023招商Fintech数据赛道rank33 赛后分享

赛题需求&#xff1a; 本次比赛为参赛选手提供了两个数据集&#xff0c;即训练数据集(train)和测试数据集(test_A榜/test_B榜)。参赛选手需要基于训练数据集&#xff0c;通过有效的特征提取&#xff0c;构建客户进取类产品配置发生时点预测模型,并将模型应用于测试数据集上,输出…

力扣sql中等篇练习(十六)

力扣sql中等篇练习(十六) 1 不同性别每日分数统计 1.1 题目内容 1.1.1 基本题目信息 1.1.2 示例输入输出 a 示例输入 b 示例输出 1.2 示例sql语句 # 分数是往后累加的 SELECT s2.gender,s2.day,sum(s1.score_points) total FROM Scores s1 CROSS JOIN Scores s2 ON s2.gen…

java创建多线程的方法

Java中是可以创建多个线程的&#xff0c;每个线程都有自己的名字和时间戳。下面我们来看看创建多个线程的方法。 创建多个线程&#xff0c;需要使用到 Thread类中的 create方法。需要注意的是&#xff0c;不是所有的线程都可以使用 create方法来创建&#xff0c;只有当这些线程…

目前可用的ChatGPT网站

本文意在整理可用gpt-3.5、gpt-4.0等网站。 本文主要是方便自己翻阅&#xff0c;如对您也有所帮助&#xff0c;不胜荣幸~ 文章目录 chatgpt.qdymys.cngpttalkchatgpt-cn.cobing.com总结 chatgpt.qdymys.cn 网址&#xff1a;https://chatgpt.qdymys.cn/限制&#xff1a;三小时只…

【新星计划-2023】TCP/IP协议讲解

相信大家在学习的过程中一定听到过TCP/IP这个协议&#xff0c;那么&#xff0c;TCP/IP协议是什么&#xff1f;为什么会有TCP/IP协议&#xff1f; 一、TCP/IP是什么&#xff1f; TCP/IP是用于计算机通信的一组协议&#xff0c;我们通常称它为TCP/IP协议族。它是70年代中期美国…

Spring Boot项目瘦身

目录 1&#xff0c;什么是瘦身&#xff1f;2&#xff0c;为什么要瘦身&#xff1f;3&#xff0c;如何瘦身&#xff1f;3.1&#xff0c;瘦身思路&#xff1a;3.2&#xff0c;瘦身方法 4&#xff0c;瘦身后运行 1&#xff0c;什么是瘦身&#xff1f; 瘦身&#xff1a;thinBody&a…

CSS进阶

01-复合选择器 定义&#xff1a;由两个或多个基础选择器&#xff0c;通过不同的方式组合而成。 作用&#xff1a;更准确、更高效的选择目标元素&#xff08;标签&#xff09;。 后代选择器 后代选择器&#xff1a;选中某元素的后代元素。 选择器写法&#xff1a;父选择器 …

Spring AOP续--织入

上篇讲到SpringAOP的一些用法以及概念&#xff0c;这里我们单独讲一下AOP中的“织入”。 我们知道&#xff0c;SpringAOP是基于动态代理实现的技术&#xff0c;而织入则是一个生成动态代理对象并且将切面和目标对象方法编织成为约定流程的过程。 对于通知&#xff0c;上篇文章…

数字化转型导师坚鹏:如何制定与实施企业数字化转型年度培训规划

如何制定与实施企业数字化转型年度培训规划 ——以推动企业数字化转型战略落地为核心&#xff0c;实现知行果合一 课程背景&#xff1a; 很多企业都在开展企业数字化转型培训工作&#xff0c;目前存在以下问题急需解决&#xff1a; 缺少针对性的企业数字化转型年度培训规划…

Python每日一练(20230507) 丑数I\II\III、超级丑数

目录 1. 丑数 Ugly Number I 2. 丑数 Ugly Number II 3. 丑数 Ugly Number III 4. 超级丑数 Super Ugly Number &#x1f31f; 每日一练刷题专栏 &#x1f31f; Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏 1. 丑数 Ugly Number I …

JavaWeb——1.JavaWeb概述

这是我们javaweb的第一篇文章&#xff0c;首先我们来介绍一下什么是Javaweb JavaWeb&#xff1a;使用java语言完成服务器端程序开发 如下面这张图所示&#xff1a; 可能不太好理解&#xff0c;那么就用通俗的语言来解释一下。 任何的一个应用程序&#xff0c;首先它会有页面…

在 Python 中将秒转换为小时、分钟和秒

文章目录 在 Python 中使用数学计算将秒转换为小时、分钟和秒的自定义函数在 Python 中使用 divmod() 函数将秒转换为小时、分钟和秒在 Python 中使用 DateTime 模块将秒转换为小时、分钟和秒在 Python 中使用时间模块将秒转换为小时、分钟和秒 本篇文章将讨论使用 Python 中的…