input python_python input 详解
解决问题:
input 得到的数据到底是什么类型
多个参数接收input的输入,是怎么解包的
如果输入的个数不确定,怎么处理
要判断输入的是不是float 类型
要对输入的参数格式输出,规定参数只能是str或者int 或者float类型
1__input 得到的数据到底是什么类型
1.1在python 3 里,一切input的得到的东西,都是str类型
In [1]: a = input('.....:')
.....:123
In [2]: a
Out[2]: '123'
In [3]: type(a)
Out[3]: str
In [4]: b = input('....:')
....:{'a':1, 'b':2}
In [5]: b
Out[5]: "{'a':1, 'b':2}"
In [6]: type(b)
Out[6]: str
1.2在python2 里 有input 和raw_input
raw_input 得到的都是str类型
input 会根据输入数据的类型自动生成类型
In [4]: b = raw_input('...:')
...:345
In [5]: b
Out[5]: '345'
In [6]: type(b)
Out[6]: str
==============================================
In [1]: a = input('....:')
....:123
In [2]: a
Out[2]: 123
In [3]: type(a)
Out[3]: int
------
In [7]: c = input('...:')
...:{'a':1,'b':2}
In [8]: c
Out[8]: {'a': 1, 'b': 2}
In [9]: type(c)
Out[9]: dict
<以下讲解基于python3>
2___多个参数接收input的输入,是怎么解包的
先看一下会出的错误:
错误例1
这种情况就是不清楚input 得到的东西是什么形式,在py3里面,input返回的都是string类型的
也就是说,输入1,2,3 其实是返回的字符串‘1,2,3’
那么久显而易见了,这个时候
其实就是:
前面是三个变量,而后面是一个字符串,那么后面自然就要解包,把字符串解包成一个个字符
但是‘1,2,3’解包之后是 '1' ',' '2' ',' '3' 五个字符,所以当然会报错
然后,下面就简单了
一次输入多个值,用空格分隔:
其实就是对string ‘11 22 33’ 的split分割
. 如果输入的个数不确定
比如要求几个数的平均数,但是有几个数字不确定
那么可以直接把输入都扔到list里面:
. 要判断输入的是不是float 类型
当输入的是float的时候,把string 转换成float的时候是不报错的,所以如果报错的话,那么这个输入就不是float类型
所以就可以用try except 来解决
a = input('...:')
try:
float(a)
except :
isFloat = False
else:
isFloat = True
同理,对其他类型的判断也是如此
若果要对输入的参数格式化输出,规定参数只能是str或者int 或者float类型
def f(a, b, c):
type_list = [int, float, str]
if a in type_list and b in type_list and c in type_list:
#do_something
else:
#ERROR
input python_python input 详解相关推荐
- python的raw_ input是什么意思-对python中raw_input()和input()的用法详解
最近用到raw_input()和input()来实现即时输入,就顺便找了些资料来看,加上自己所用到的一些内容,整理如下: 1.raw_input() raw_input([prompt]) -> ...
- python中str和input_对python中raw_input()和input()的用法详解
最近用到raw_input()和input()来实现即时输入,就顺便找了些资料来看,加上自己所用到的一些内容,整理如下: 1.raw_input() raw_input([prompt]) -> ...
- ABB机器人系统输入输出信号System Input和Output详解(一)
ABB机器人系统输入输出信号System Input和Output详解 System Input类型: 输入I/O信号可指定具体的系统输入项,比如Start或Motors on.该输入项会在不使用Fl ...
- ABB机器人系统输入输出信号System Input和Output详解(二)
ABB机器人系统输入输出信号System Input和Output详解(二) 上一次和大家分享了系统输入信号System Input相关的内容,具体可参考以下链接中的内容: ABB机器人系统输入输出信 ...
- 海思3518E开发笔记2.5——海思VI(video input)模块详解
目录 海思video input模块架构介绍 海思video input模块功能介绍 结构体说明 函数调用关系 流程分析 step 1: mipi configure step 2: configur ...
- input python_Python input 使用
Python 3.0 中使用"input" , Python 2.0 中使用"raw_input" Python 3.5: 1 #!C:\Program Fil ...
- yield python_python yield详解
# -*- coding:utf-8 -*- from tornado import gen def h(): print 'nihao', m = yield 2 print m d = yield ...
- [绍棠] input 标签 (详解)如何去除输入时边框
去掉input边框: <input type="text"/> input{ boder:0px; } 去除点击后的边框: input{ outline:none; } ...
- 前端CSS input type属性详解
input在前端中使我们需要熟悉使用的一个标签,input中type属性值不止text一个. 1.首先是最常用的 text <input type="text" placeh ...
最新文章
- 软件包管理(rpmyum)
- erdas2015几何校正模块在哪_erdas图像几何校正操作步骤指南
- Xilinx IP解析之Processor System Reset v5.0
- 第67课 选择排序 改进例67.1 《小学生C++编程入门》
- openlayers之EPSG3857
- 孤读Paper——《Deep Snake for Real-Time Instance Segmentation》
- GIT在Linux上的安装和使用简介
- B站 (哔哩哔哩) 泄露源码中的有趣片段(彩蛋)
- 学习ExtJs教程初级
- 使用itext,html转pdf使用报错:java.lang.NoSuchMethodError: com.lowagie.text.pdf.BaseFont.getCharBBox(C)
- python安装pygame的命令是什么_Python的pygame安装教程详解
- 史上最全的 Java 高质量博客与网站推荐(国内篇)
- java判断简体和繁体字_java获取系统语言(区分简体中文和繁体中文)
- 【SLAM学习】(三)激光雷达原理及分类
- 太极图正确画法_《太极图》的正确画法
- 百度蜘蛛IP大全,更新于2020年7月3日
- 学美工、平面设计、UI设计,哪个有前途?
- 通过netd获取网卡的IP地址和硬件mac地址
- 机器学习-支持向量机(python3代码实现)
- 虾米网音乐真实地址解析