与用户交互及格式化输出


一、与用户交互

当我们去银行的时候,我们办理业务,需要跟柜台上的工作人员交流,说明自己的需求才能办理业务。比如工作人员需要问我们要办理什么业务,我们回答取钱,接着就会问我们需要取多少,我们会报上自己的金额。在代码中也有相应的函数体现相应的功能。

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填充,如果超过八位则全部输出。


posted @ 2022-10-05 21:16  致丶幻  阅读(35)  评论(0编辑  收藏  举报