解决问题:

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 详解相关推荐

  1. python的raw_ input是什么意思-对python中raw_input()和input()的用法详解

    最近用到raw_input()和input()来实现即时输入,就顺便找了些资料来看,加上自己所用到的一些内容,整理如下: 1.raw_input() raw_input([prompt]) -> ...

  2. python中str和input_对python中raw_input()和input()的用法详解

    最近用到raw_input()和input()来实现即时输入,就顺便找了些资料来看,加上自己所用到的一些内容,整理如下: 1.raw_input() raw_input([prompt]) -> ...

  3. ABB机器人系统输入输出信号System Input和Output详解(一)

    ABB机器人系统输入输出信号System Input和Output详解 System Input类型: 输入I/O信号可指定具体的系统输入项,比如Start或Motors on.该输入项会在不使用Fl ...

  4. ABB机器人系统输入输出信号System Input和Output详解(二)

    ABB机器人系统输入输出信号System Input和Output详解(二) 上一次和大家分享了系统输入信号System Input相关的内容,具体可参考以下链接中的内容: ABB机器人系统输入输出信 ...

  5. 海思3518E开发笔记2.5——海思VI(video input)模块详解

    目录 海思video input模块架构介绍 海思video input模块功能介绍 结构体说明 函数调用关系 流程分析 step 1: mipi configure step 2: configur ...

  6. input python_Python input 使用

    Python 3.0 中使用"input" , Python 2.0 中使用"raw_input" Python 3.5: 1 #!C:\Program Fil ...

  7. yield python_python yield详解

    # -*- coding:utf-8 -*- from tornado import gen def h(): print 'nihao', m = yield 2 print m d = yield ...

  8. [绍棠] input 标签 (详解)如何去除输入时边框

    去掉input边框: <input type="text"/> input{ boder:0px; } 去除点击后的边框: input{ outline:none; } ...

  9. 前端CSS input type属性详解

    input在前端中使我们需要熟悉使用的一个标签,input中type属性值不止text一个. 1.首先是最常用的 text <input type="text" placeh ...

最新文章

  1. 软件包管理(rpmyum)
  2. erdas2015几何校正模块在哪_erdas图像几何校正操作步骤指南
  3. Xilinx IP解析之Processor System Reset v5.0
  4. 第67课 选择排序 改进例67.1 《小学生C++编程入门》
  5. openlayers之EPSG3857
  6. 孤读Paper——《Deep Snake for Real-Time Instance Segmentation》
  7. GIT在Linux上的安装和使用简介
  8. B站 (哔哩哔哩) 泄露源码中的有趣片段(彩蛋)
  9. 学习ExtJs教程初级
  10. 使用itext,html转pdf使用报错:java.lang.NoSuchMethodError: com.lowagie.text.pdf.BaseFont.getCharBBox(C)
  11. python安装pygame的命令是什么_Python的pygame安装教程详解
  12. 史上最全的 Java 高质量博客与网站推荐(国内篇)
  13. java判断简体和繁体字_java获取系统语言(区分简体中文和繁体中文)
  14. 【SLAM学习】(三)激光雷达原理及分类
  15. 太极图正确画法_《太极图》的正确画法
  16. 百度蜘蛛IP大全,更新于2020年7月3日
  17. 学美工、平面设计、UI设计,哪个有前途?
  18. 通过netd获取网卡的IP地址和硬件mac地址
  19. 机器学习-支持向量机(python3代码实现)
  20. 虾米网音乐真实地址解析

热门文章

  1. 在Object-C中学习数据结构与算法之排序算法
  2. RESTful API 设计指南[转]
  3. 一个隐藏着的僵尸巨兽——Ponmocup僵尸网络
  4. bzoj1202[HNOI2005]狡猾的商人
  5. linux下MySQL与jdk安装
  6. PowerShell管理Azure
  7. python中argparse模块
  8. 【数据库】数据库常见操作指令
  9. JAVA8 Stream方法使用详解Filter、map等用法(一)
  10. go执行二进制文件的方法:通过shell脚本来调用二进制文件,直接执行go的二进制文件会存在参数传递问题