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

news/2024/11/16 2:15:28/

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.ppmy.cn/news/60723.html

相关文章

Java中有什么异常机制? 有哪些异常分类? 常见异常的详解以及解决异常思路?

Java中的异常机制是一种处理程序在运行时可能发生的不可预测情况的方式。异常是指在程序执行期间遇到的错误或其他意外事件&#xff0c;它会中断程序的正常执行流程。Java中的异常分为两类&#xff1a;Checked Exception&#xff08;已检查异常&#xff09;和Unchecked Excepti…

确定不进来看看吗?详细讲解C语言文件操作(示例分析每个函数)

前言 &#x1f388;个人主页:&#x1f388; :✨✨✨初阶牛✨✨✨ &#x1f43b;推荐专栏: &#x1f354;&#x1f35f;&#x1f32f; c语言初阶 &#x1f511;个人信条: &#x1f335;知行合一 &#x1f349;本篇简介:>:讲解c语言中的文件操作,文件的读取,输入输出,流的概念…

【第八篇:自动化建设前言】

难得请假休息1天,加更,加更~ 本周因为端午节放假,有更多时间准备,预计会再加更两篇 写在前面 在第上一篇中我给大家展示的是关于测试工具研发的内容,在本篇和后面三篇文章我将中给大家拆解展示是在日常的工作中关于自动化建设部分的内容。然后再之后的两篇我将给大家介…

现代CMake高级教程 - 第 9 章:分支与判断

双笙子佯谬老师的【公开课】现代CMake高级教程课程笔记 第 9 章&#xff1a;分支与判断 BOOL 类型的值 通常来说 BOOL 类型的变量只有 ON/OFF 两种取值。但是由于历史原因&#xff0c;TRUE/FALSE 和 YES/NO 也可以表示 BOOL 类型。个人建议同学们始终使用 ON/OFF 避免混淆。…

云上网络规划CIDR地址划分的参考示例

CIDR规则 0000 0000. //预留 0000 0000. //region Id 区域&#xff0c;例如北京、上海 000 //vpc Id 区域内部不同子网&#xff0c;例如北京1机房、2机房0 0000. //vSwitch Id 可用区机房&#xff0c;例如北京1可用区机房1的交换机 0000 0000. //resoure Id 交换机下不…

【C++初阶】类和对象(二)

​ ​&#x1f4dd;个人主页&#xff1a;Sherry的成长之路 &#x1f3e0;学习社区&#xff1a;Sherry的成长之路&#xff08;个人社区&#xff09; &#x1f4d6;专栏链接&#xff1a;C初阶 &#x1f3af;长路漫漫浩浩&#xff0c;万事皆有期待 上一篇博客&#xff1a;【C初阶】…

力扣刷题Day12

239. 滑动窗口最大值 (此题逻辑真心牛皮&#xff09; 做此题之前&#xff0c;首先明确此题的目的。我最开始没搞明白此题目的&#xff0c;看代码的时候卡死。 copy他人代码&#xff1a; from collections import dequeclass MyQueue: #单调队列&#xff08;从大到小def __ini…

档案馆库房环境温湿度空气质量等相关要求

档案库房防潮工作&#xff0c;就是要将库内相对湿度控制在规定的范围之内&#xff0c;这个范围就是由建设部和国家档案局共同批准颁布的强制性行业标准《档案馆建设设计规范》对档案库房的温湿度范围已作出明确的要求&#xff1a;温度14℃&#xff5e;24℃&#xff0c;湿度45%&…