与用户交互及格式化输出
一、与用户交互
当我们去银行的时候,我们办理业务,需要跟柜台上的工作人员交流,说明自己的需求才能办理业务。比如工作人员需要问我们要办理什么业务,我们回答取钱,接着就会问我们需要取多少,我们会报上自己的金额。在代码中也有相应的函数体现相应的功能。
1、获取用户输入
input函数
当我们运行input函数时,pycharm的运行窗口中会有光标闪烁,等待我们输入信息。(input输入的数据值会变成字符串类型)
举例:
input('请输入相关信息:')
我们也可以把变量名跟input函数绑定,方便后面继续使用数据。
input函数的括号内部可以加入文本注释,方便他人理解。
2、输出内部信息
print函数
可以把想要打印的数据值、函数名等信息打印出来。括号内部可以用逗号隔开,一次性打印多个数据。
举例:
print('name',11)
扩展:python2与python3中两个关键字的区别
python2中
input方法需要用户自己提前指定数据类型 写什么类型就是什么类型
在python3中所有的数据都会被处理成字符串
在python2中有两个获取用户输入的方式
input()是会返回输入数据值的对应类型的数据值。
raw_input方法与python3中input一致 输入的统一处理成字符串
python2中
print方法有两种使用方式
print 数据值
print(数据值)
3、换行符
python中\n和\r、\r\n都是换行符,但是\n用的较多,我们使用print()打印文本时可以在文本的对应位置输入换行符,打到换行的效果。同时我们也不难发现使用print打印时会自动换行,这是因为print函数中自带换行符,我们也可以更改print的end=''信息来达到不换行输出的目的。(默认情况下end='\n')
举例:
print('使用print打印时会自动换行',end='')
print('使用print打印时会自动换行')
#这两行代码会在同一行输出
print('使用print打印时\n会自动换行')
#会分两行输出
注:输出多个数据时,如果想要输出换行符需要在引号内输入\n并且要用逗号隔开。如果输出字符串,可以放在字符串的引号内。
二、格式化输出
%s和%d
python中有两种格式化输出的占位符——%s和%d。其中%s(字符串)适用于所有数据类型,%d只适用于整数,还有其他类型的占位符。举例:
%r 字符串 (采用repr()的显示)
%c 单个字符
%b 二进制整数
%d 十进制整数
%i 十进制整数
%o 八进制整数
%x 十六进制整数
%e 指数 (基底写为e)
%E 指数 (基底写为E)
%f 浮点数
%F 浮点数,与上相同
%g 指数(e)或浮点数 (根据显示长度)
%G 指数(E)或浮点数 (根据显示长度)
%% 字符"%"
%s使用展示:
1、%s,字符串占位符,使用str()方法转换任何Python对象,包括整数int,浮点数float,如:
print('%s,%s,%s'%('字符串',10,1.0))
结果:'字符串',10,1.0
infor = '你是猪你是猪你是猪你是%s'
infor1 = 'zhu'
print(infor % infor1)
print('你是猪你是猪你是猪你是%s' % '猪')
print(infor % '猪')
infor = '你是%s你是%s你是%s你是%s'
print(infor % ('猪','猪','猪','猪')
输出时可以在输出文本的同时输出占位符,也可以用变量名代替占位符内容和本文内容。但是当一次性输出多个占位符内容是,需要输入相同个数的内容(多了或者少了都会报错),内容输出时要用括号括起来,并用逗号隔开。
%d使用展示:
2、%d,整数(int)占位符,也可以表示浮点数float(只取整数部分),如:
print('代表整数:%d,代表浮点数:%d'%(1,1.9))
结果:代表整数:1,代表浮点数:1.9
3、%f
浮点数(float)占位符,也可以表示整数(int),都是默认为保留小数点后6位,如:
print('代表浮点数:%f,代表整数:%f'%(1.234,1))
结果:代表浮点数:1.234000,代表整数:1.000000
问题:如果我们不想保留小数点后6位,想自主定义保留几位,该怎么写?
解决办法:在%后面加上需要保留的位数个数即可
格式:%.nf,n表示保留n位小数
print('保留2位小数:%.2f'%1.2345)
结果:保留2位小数:1.23
%08d
百分号后的0可以用其他字符表示,同时8 的位置也可以用更多的数值表示。
infor = '你是猪你是猪你是猪你是%08d'
print(infor % '1234567789')
print(infor % '123')
表示的是把输入的数据值输出,如果数据值小于八位,不足八位的地方用0填充,如果超过八位则全部输出。