输入输出

input输入函数

input函数:获取用户输入,保存成一个字符串。重要的话,说两遍,input函数的返回值是一个字符串类型。哪怕你输入的是个数字1,返回给你的只会是字符串“1”,而不是 整数1 。

str = input("请输入你的姓名:")
请输入你的姓名:json
'json'
type(str)
<class 'str'>
age = input("请输入你的年龄:")
请输入你的年龄:18
'18'
type(age)
<class 'str'> a = input("请输入一个字符串:")
如果输入的是一个空白字符串,输入的也是空白字符 a = input("请输入一个字符:")
如果输入的是前后都有空格的字符,输出的也是前后都有空格的字符串

从上面两个例子中,大家也可以发现了,我输入的值不管是什么,类型都是字符串。

type是python内置的函数之一,作用是查看数据的类型。

比如将字符串转换成数字类型

age = input("请输入你的年龄:  ")

age = int(age)   # 将字符串转化为整数

if age > 18:
print("你已经成年!")
else:
print("还没断奶?")

前面我们在将字符串转化为整数用的是int()函数,这种方式有危险的

s = "123"
a = int(s)
a
123
s = "something"
a = int(s) Traceback (most recent call last):
File "<pyshell#12>", line 1, in <module>
a = int(s)
ValueError: invalid literal for int() with base 10: 'something'

对于形如“123”, “283242”的字符串,转化没问题,但是对于包含字符、特殊字符的字符串就没办法转化了,会弹出异常错误。所以在使用int函数之前,要先对输入进行判断

age = input("请输入你的年龄:  ")

if age.isdigit():   # 使用isdigit函数判断输入是否全是数字格式
age = int(age) # 将字符串转化为整数
print("你的年龄是: ", age)
else:
print("输入不合法!")

input函数有时可以巧妙地用于阻塞或暂停程序

print("程序前面部分执行完毕......")

input("请按回车继续......")       # 在这里程序会暂停,等待你的回车动作

print("继续执行程序的后面部分......")

此时的input函数不会将输入保存下来,只是用作暂停程序动作

print输入函数

print函数我们其实已经不陌生了,前面我们也已经用了很多次了。作用就是打印变量。

a = "json"
b = "teach"
print(a,b)
"json teach" # 自动以空格分隔
print(a+"a"+"b")
"jsonab" # 无分隔

我们看一下print函数的原型:print(self, *args, sep=' ', end='\n', file=None)

sep参数: 分隔的符号,默认是一个空格

end参数: 打印后的结束方式,默认为换行符\n。如果,设置end='',则可以不换行,让print在一行内连续打印。活用print的参数,可以实现灵活的打印控制。

a = "i am"
b = "teach"
print(a,"a",b,sep="*")
i am*a*teach

print格式化输出

在Python2.6以后,有两种格式化输出的方式。

一种就是类似C语言的printf的%百分号格式化输出,也是Python最基础最常用的格式化输出方式。另一种就是str.format()的方式。

这里先介绍一下传统的%格式化输出方式,例如:

print("我叫%s 今年%d岁"%('json',18))
首先构造了一个字符串"我叫%s 今年%d岁",讲其中需要用别的变量替换的部分,用%号加一个数据类型代号,前面有多少个%号,后面就要提供多少个参数,每个参数值之间用逗号隔开。每个参数与前面的%,相对应的。并且数据类型也要能够合法对应。

格式化符号:

需要特别说明的是,如果你想在print中打印一个%百分符号本身,那么你需要使用%%,两个百分符转义出一个百分符

age=18
print('%d%%'%age)
18%

最新文章

  1. 【读书笔记】2016.12.10 《构建高性能Web站点》
  2. ECharts+百度地图网络拓扑应用
  3. 忘记Mysql登录密码
  4. 使用DB4o做一个.Net版的website(一)环境
  5. PageRank算法
  6. DeepID人脸识别算法之三代(转)
  7. HTML编辑器UEditor的简单使用
  8. [JavaScript] JavaScript作用域深度解析
  9. ByteBuffer常用方法详解
  10. 在Docker中运行asp.net core 跨平台应用程序
  11. 设计模式 --&gt; (8)组合模式
  12. 习题 7-2 uva225(回溯)
  13. Docker 自定义网桥
  14. Java IO系列之四:NIO通信模型
  15. mysql 重启,修改编码utf8mb4,并修改数据库链接,生效
  16. git 查看/修改用户名、密码
  17. webmin改https访问
  18. ssh 使用 aws
  19. 原创:Spring整合junit测试框架(简易教程 基于myeclipse,不需要麻烦的导包)
  20. CentOS 6.8 安装Tomcat7

热门文章

  1. 设备驱动基础学习--misc device简单实现
  2. 每天进步一点点------SysTimer
  3. deepin-wine-qq无法加载图片解决方案
  4. java并发框架--Fork-Join
  5. Python学习之列表篇
  6. Redis-复制(MasterSlave)
  7. rosserial学习记录
  8. linux 命令——screen
  9. wampserver3.0.6 外网 不能访问
  10. 【译】高级T-SQL进阶系列 (七)【上篇】:使用排序函数对数据进行排序