写Python程序时,你可能希望用户与程序有所交互。例如你可能希望用户输入一些信息,这样就可以让程序的扩展性提高。

这一节我们来谈一谈Python的控制台输入。

输入字符串

Python提供一个叫做input()的函数,用来请求用户输入。执行input()函数时,程序将会等待用户在控制台输入信息,当用户输入换行符(即enter)时,返回用户输入的字符串。

例如:

>>> name = input()

这将会等待用户输入一行信息。注意接下来的一行开头处没有>>>命令提示符,因为>>>是指示用户输代码的,这里不是代码。

具体例子(输入的字符串为Charles,你也可以输入别的):

>>> name =input()

Charles>>> print('You entered:', s)

You entered: Charles

但这里也有一个问题:不了解程序的用户,看见程序等待输入,不知道要输入什么。如果有提示文字不就更好了吗?如果你学过其它编程语言,你可能会这样写:

print('Enter your name:')

name= input()

然而Python提供了更简洁的写法:input()可以接受一个参数,作为提示文字:

>>> name = input('Enter your name:')

这样,等待输入就变成这个样子了(仍以Charles为例):

Enter your name: Charles

一个完整的例子:

>>> fname = input('Enter your first name:')

Enter your first name: Charles>>> lname = input('Enter your last name:')

Enter your last name: Dong>>> print('Your name: %s, %s' %(lname, fname))

Your name: Dong, Charles

输入数字

那输入数字呢?你可能会想这么做:

>>> height = input('Enter your height, in centimeters:')

然后输出:

>>>print('You\'re', height, 'cm tall.')

也没有问题。

但如果这样写:

>>> print('You\'re 1 cm taller than', height - 1, 'cm.')

你会得到:

Traceback (most recent call last):

File"", line 1, in TypeError: unsupported operand type(s)for -: 'str' and 'int'

注意最下面一行:

TypeError: unsupported operand type(s) for -: 'str' and 'int'

意思是说,-两边的参数分别是str和int,而-运算符不能用在这两种类型之间!

原来,input()返回的是一个str,返回值被赋给height,因此height也是str类型。height-1就是str和int进行减法了。

那怎么办呢?联系之前说的类型转换知识,把input()的返回值转换成我们所需要的int类型就可以了:

>>> height = int(input('Enter your height, in centimeters:'))

现在再试一下,是不是没有问题了。

输入非str变量的格式:

var = type(input(text))

var为输入变量,type为要输入的类型,text为提示文字。

不过这里还有一个小问题:无法在一行输入多个数字。这个问题将在后面解决。

小结

1. 使用input()进行输入。

2. 对于非字符串类型,需要进行转换,格式为type(input(text))。

练习

1. 要求用户输入身高(cm)和体重(kg),并输出BMI(Body Mass Index)。BMI=体重/(身高**2),体重单位为kg,身高单位为m。下面是一个例子:

Enter your height, in cm: 175Enter your weight,in kg: 50Your BMI:16.3265306122449

注意输入的身高需要转换成以m为单位。

python教程输入_Python教程(2.5)——控制台输入相关推荐

  1. python如何获取输入_python如何从键盘获取输入实例

    python中使用input()函数来获取用户输入 函数 input() 让程序暂停运行,等待用户输入一些文本,获取用户的输入后,Python将其存储到一个变量中,以方便后期使用. name = in ...

  2. python教程闭包_Python教程 闭包的特性

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ...

  3. python画笔宽度_python教程系列终章:画笔控制

    原标题:python教程系列终章:画笔控制 3. 画笔控制 通过前面两节的学习,大家可能会感觉到实际上的编程相当于我们手握一直笔,通过各种指令控制笔的路径. 没错,我们平时写字或画画的各种操作都能够用 ...

  4. python学英语视频教程_python教程(入门, 经典, 英文)

    python教程(入门, 经典, 英文) 简介:经典之作, 秒杀各种python教材, 视频制作无可挑剔, 英文讲解非常通俗流利. 即可作为python的入门教程的首选, 又是很好的英文听力催眠视频, ...

  5. python表白神器_python教程之抖音同款表白神器——Python让你的七夕更完美!

    又到了一年一度的七夕!大家都准备送什么给自己心仪的对象呢?今天给大家带来python教程之抖音同款表白神器--Python让你的七夕更完美! 先上效果: python表白小程序 代码: from tk ...

  6. python重复输出_Python教程第10篇: python print换行输出和python将一句话重复n次输出...

    内容提要:本篇Python教程分享了两个问题的解决方法,分别是python print换行输出和python将一句话重复n次输出. 学习到现在,我们的Python教程进入第10课的学习.刚才小编在网站 ...

  7. python 使用全局变量_Python教程之全局变量用法

    Python教程之全局变量用法 本文实例讲述了Python全局变量用法.分享给大家供大家参考,具体如下: 全局变量不符合参数传递的精神,所以,平时我很少使用,除非定义常量.今天有同事问一个关于全局变量 ...

  8. python教程苹果版_python教程

    https://www.xin3721.com/eschool/pythonxin3721/ 1.安装Homebrew https://brew.sh/index_zh-cn.html 2.通过bre ...

  9. python dict遍历_Python教程:Python数据类型之字典(附学习教程)

    字典是另一种可变容器模型,且可存储任意类型对象,是除列表以外python之中最灵活的内置数据结构类型.查找速度非常快,一个元素和10W个元素没有什么区别. 堆栈的词典 字典的无序特性和创建: 列表是有 ...

最新文章

  1. .net 连接ORACLE 数据库的例子
  2. Linux网卡图形化,Linux系统无线网络图形化软件(LinSSID)使用方法
  3. 30岁的她决定回国做AI芯片
  4. C++下的DLL编程入门
  5. 今日arXiv精选 | TNNLS/ICCV/TIP/ACM MM/CIKM/WWW/ICME
  6. NeurIPS 2020 | 一种基于动作采样的简单高效的正则化强化学习方法
  7. 使用网真和WAD热部署Kubernetes
  8. 视频盒子APP视频播放源代码安卓+IOS双端源码
  9. mysql数据库 day05
  10. 对996最客观的描述,一叶知秋
  11. 地产cio揭秘:帆软大商业智能解决方案如何助力地产行业信息化
  12. Java经典编程题,你学废了吗?
  13. 先进先出算法_数据结构与算法之初识栈与队列
  14. php指令,php命令行下的常用命令
  15. ROC曲线及AUC值
  16. laravel中数据显示(默认值和下拉option默认选中)
  17. matlab实现单峰物体复原--光栅投影-多频外差
  18. python练习题:u2.1求三角形斜边长度
  19. 网站打开速度慢如何压缩图片_网站打开速度变慢原因,网站打开速度慢的原因分析,了解网站变慢...
  20. 2021-03-28

热门文章

  1. ValueError: There are no more samples after a first-order seasonal differencing.
  2. 基于逻辑回归算法癌症症状预测分析
  3. java能取到微秒吗,JAVA中如何获取毫秒和微秒数
  4. 避免您的网站域名网址被微信封杀或者屏蔽拦截的代码
  5. 题目:P3131 [USACO16JAN]Subsequences Summing to Sevens S
  6. python中美元人汇率_python 入门第一天 简单的汇率兑换
  7. Invalid or unexpected token “\u200b“
  8. 法蒂玛机器人_通讯:执著追梦机器人的阿富汗女孩
  9. 虚拟环境命令+linux基本操作(各种版本查看+进程操作+目录+文件)
  10. IT富翁们的第一份工作会给你怎样的启示