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]

【温馨提示】

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

在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
input事件是一种在Web开发中常用的事件类型,它用于监听用户在输入框或文本区域中输入内容的操作。当用户在输入框中键入、粘贴或删除文本时,就会触发input事件。 通过监听input事件,我们可以实时获取用户输入的内容,并对其进行相应的处理。例如,可以实时检测输入框中的字符数,实现实时搜索功能,或者根据用户输入的内容动态更新页面等。 在JavaScript中,我们可以通过addEventListener方法来为元素添加input事件的监听器。当input事件被触发时,可以通过event对象来获取用户输入的内容。 以下是一个简单的示例代码,演示了如何使用input事件监听用户在输入框中输入的内容: ```html <input type="text" id="myInput"> <script> const inputElement = document.getElementById('myInput'); inputElement.addEventListener('input', function(event) { const inputValue = event.target.value; console.log('用户输入的内容:', inputValue); }); </script> ``` 在上述代码中,我们首先通过getElementById方法获取了id为"myInput"的输入框元素。然后使用addEventListener方法为该元素添加了一个input事件的监听器。当用户在输入框中输入内容时,监听器中的回调函数会被执行,并通过event.target.value获取用户输入的内容,并将其打印到控制台上。 希望以上信息能够帮助到您!如果您还有其他问题,请继续提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值