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

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]

【温馨提示】

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

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【软考中级】2022下半年软件设计师案例分析题级答案

试题一(共15分) 阅读下列说明和图&#xff0c;回答问题1至问题4&#xff0c;将解答填入答题纸的对应栏内。 【说明】 随着新能源车数量的迅猛增长&#xff0c;全国各地电动汽车配套充电桩急速增长&#xff0c;同时 也带来了充电桩计量准确性的问题。充电桩都需要配备相应的…

JAVA9新特性

JAVA9新特性 概述 ​ 经过4次推迟&#xff0c;历经曲折的Java9最终在2017年9月21日发布。因为里面加入的模块化系统&#xff0c;在最初设想的时候并没有想过那么复杂&#xff0c;花费的时间超出预估时间。距离java8大约三年时间。 ​ Java 9提供了超过150项新功能特性&#x…

三个令人惊艳超有用的 ChatGPT 项目,开源了!

自 3 月初 Open AI 开放 ChatGPT API 以来&#xff0c;GitHub 上诞生的开源项目数量之多&#xff0c;着实多得让我眼花缭乱、应接不暇。 今天&#xff0c;我将着重挑选几个对日常工作、生活、学习帮助较大的 ChatGPT 开源项目&#xff0c;跟大家分享下&#xff0c;希望对你有所…

使用eclipse创建一个图书管理系统(1)-----搭建架构

目录 思维导图&#xff1a; 图书管理系统的创建&#xff1a; 第一步&#xff1a;搭建框架-------使用者 第二步&#xff1a;搭建框架------被使用者 第三步&#xff1a;操作方法 第四步&#xff1a;main函数 思维导图&#xff1a; 前言&#xff1a; 昨天学了一下使用Java…

games103——作业2

实验二主要使用隐式积分法以及PBD法完成布料仿真 完整项目已上传至github。 文章目录 基于物理的方法弹簧系统单个弹簧多个弹簧弹簧网络结构化弹簧网络(Structured Spring Networks)非结构化弹簧网络(Unstructured Spring Networks)三角网格表示 代码 求解质量弹簧系统的显示积…

(别再手动点APP了)UiAutomator2自动化测试框架带你玩转APP操作

目录 前言 一、uiautomator/uiautomator2的前生今世 1.官方文档介绍 2.梳理一下脉络 3.三款框架对比 二、uiautomator2简介 1.项目组成 2.工作原理 三、环境搭建 1.安装uiautomator2 2.初始化设备 3.init时都干了啥&#xff1f; 四、基础操作 1.连接设备 2.命令…

Python——函数

概念 函数是一段具有特定功能&#xff0c;可重复使用的代码&#xff0c;python提供了很多内置函数&#xff0c;如&#xff1a;print()&#xff0c;input()&#xff0c;len()函数等&#xff0c;以及标准库函数&#xff0c;math库中的sqrt()函数等&#xff0c;除此之外用户还可以…

Hive3面试基础

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、基本知识Hive31.表的类型和表的存储格式a)b)c)创建表i&#xff09;ii&#xff09; 2.表 二、使用步骤1.引入库2.读入数据 总结 前言 面试准备之Hive 回顾…

设计模式之适配器模式

目录 1、什么是适配器模式 2、为什么用适配器模式 3、适配器模式的结构 4、类适配器模式代码实现 4.1 思想 4.2 代码实现 4.3 问题分析 5、对象适配器模式代码实现 5.1 思想 5.2 代码实现 6、适配器模式应用场景 1、什么是适配器模式 适配器模式&#xff08;Adapter…

19. Unity - 2D游戏开发小记02 --- 伪透视图、2D物体碰撞、瓦片地图碰撞、素材缩放平铺

1. 伪视图 在2D游戏开发当中,当角色移动时,会发生物体与物体之间的前后遮挡。2D视图中的前后关系是由 Y 轴决定,y 值越小物体越靠前。unity的渲染应开启根据 y 值的大小进行渲染才能保证正确的遮挡效果,在菜单栏Editor–>project setting --> Graphic中按照下图方式…

C++三大特性—继承“复杂的菱形继承及菱形虚拟继承”

C的一个大坑&#xff1a;菱形继承 希望这篇文章能让你理解什么是菱形继承&#xff0c;以及菱形继承的注意事项 单继承与多继承 单继承&#xff1a;一个子类只有一个直接父类时称这个继承关系为单继承 多继承&#xff1a;一个子类有两个或以上直接父类时称这个继承关系为多继承…

凌恩生物美文分享|HGTree v2.0:水平基因转移数据库

水平基因转移(HGT)是指遗传物在物种间从一个相邻生物体到另一个生物体横向传递&#xff0c;是原核生物遗传变异的重要过程。HGT是负责塑造原核生物基因组和在自然选择中生存的驱动力之一&#xff0c;对原核生物的进化有很大贡献&#xff0c;但它会使物种进化史复杂化&#xff0…

【Linux】进程信号保存

前言 上篇博客我们了解了进程信号的概念和信号如何产生。 本篇我们将学习进程信号如何保存。 文章目录 前言一. 阻塞信号二. 递达动作三. 信号集四. 信号集操作函数结束语 一. 阻塞信号 首先我们需要一些预备知识 实际执行信号的处理动作称为信号递达&#xff08;Delivery&am…

数字图像处理-绪论

数字图像处理-绪论 文章目录 前言一、闲谈二、什么是数字图像处理&#xff1f;2.1. 什么是数字图像&#xff1f;2.1.1. 可见光图像2.1.2. 不可见光图像 2.2. 什么是数字图像处理&#xff1f; 三、数字图像处理的前世今生3.1. 数字图像处理的前世3.2. 数字图像处理的今生 四、数…

【嵌入式系统】课程复习资料整理

【嵌入式系统】课程复习资料整理 一、绪论 1.定义 从技术的角度定义&#xff1a;以应用为中心、以计算机技术为基础、软件硬件可裁剪、对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。从系统的角度定义&#xff1a;嵌入式系统是设计完成复杂功能的硬件和软件&a…

使用crontab定时自动更新DDNS

需求说明&#xff1a; N1盒子的armbian系统配置好了 ipv6 的ddns&#xff0c;实现了域名访问本机&#xff0c;但是本地ipv6可能会发生变化&#xff0c;当发生变化后&#xff0c;需要手动执行指令&#xff0c;将新的ip与域名绑定&#xff0c;现在我们采用定时任务&#xff0c;每…

Nuvoton NK-980IOT开发板 u-boot 编译

前言 最近搭建了 Nuvoton NK-980IOT开发板 的开发编译环境&#xff0c;记录一下 u-boot 的 编译流程 Nuvoton NK-980IOT开发板 资源还是比较的丰富的&#xff0c;可以用于 嵌入式Linux 或者 RT-Thread 的学习开发 开发板上电比较的容易&#xff0c;两根 USB 线即可&#xff0…

计网笔记 01 概述 计算机网络体系结构、参考模型

文章目录 前言1、计网概述1.1 概念、组成、功能、分类1.1.1 概念1.1.2 计网组成1.1.2 计网分类 1.2 标准化工作及相关组织1.2.1 标准的分类 1.3 性能指标★★★1.3.1 速率相关性能指标1.3.2 时延相关指标 2、体系结构&参考模型★★★★★&#xff08;对应王道视频7-10p 相当…

Android Jetpack:利用Palette进行图片取色

与产品MM那些事 新来一个产品MM&#xff0c;因为比较平&#xff0c;我们就叫她A妹吧。A妹来第一天就指出&#xff1a;页面顶部的Banner广告位的背景是白色的&#xff0c;太单调啦&#xff0c;人家不喜欢啦&#xff0c;需要根据广告图片的内容自动切换背景颜色&#xff0c;颜色…

基于CUDA的GPU计算PI值

访问【WRITE-BUG数字空间】_[内附完整源码和文档] 基于CUDA的GPU计算PI值。本项目使用CUDA编程模型并行计算PI值&#xff0c;研究GPU与CPU效率的比较&#xff0c;分析不同GPU线程分块对性能的影响。 异构计算试验报告 —实验1&#xff1a;基于CUDA的GPU计算PI值 第一部分&…