用户交互以及格式化输出


 1.用户交互

①input函数

    input函数等待用户输入,然后前面的变量指向输入的内容,注意,input函数出来的数据类型全是字符串类型

x= input(“此括号里的内容会直接打印出来:”)
print(x)

运行
>>此括号里的内容会直接打印出来: 3(这后面是等待输出,电脑等待你从这里输入一个值)
>>3

    更高级的用法

1.a, b = map(int, input().split())#这行代码的意思是从键盘获取两个字符值,用split分隔后,交给int函数转换为数值,再给a,b。基础入门不必掌握
2.eval()函数用来执行一个字符串表达式,并返回表达式的值。
>>>x = 7 
>>>eval( '3 * x' ) 
>>>21

注意:在python3中用input()函数时,输入的所有内容都会被当做字符串去处理,若是需要和一个数字进行比较,就会出错,所以需要用 int() 将输入的字符串转换成数字(前提是输入的本身就是个数字,否则就会报错),所以我们可以用eval函数。其实,当我们输入的时候,eval帮我们去除了引号后,就相当于执行了a=234这个表达式,显然这是整数赋值。而如果没有加eval,只是单纯的a=input("请输入:"),显然,我们得到的是a="234"。

  ②getpass模块

    (还没有看到模块的同学,仅供了解此交互。)输入密码时,如果想要不可见,需要利用 getpass 模块中的 getpass方法。

import getpass
pwd = getpass.getpass("请输入密码: ")
print("密码输入成功!")
print("你的密码是:%s" % pwd)

 2.格式化输出

①%运算符格式化字符串

    %运算符就是用来格式化字符串的。在字符串内部,%s表示用字符串替换,%d表示用整数替换,有几个%?占位符,后面就要跟几个变量或者值,顺序要对应好。

print('%.2f' % 3.1415926)#.2f表示保留小数点后两位
print("baifenhao: %d%%" %10)#如果需要打印百分号,则需要两个%%


%c

格式化字符及其ASCII码

%s

格式化字符串

%d

格式化整数

%u

格式化无符号整型

%o

格式化无符号八进制数

%x

格式化无符号十六进制数

%X

格式化无符号十六进制数(大写)

%f

格式化浮点数字,可指定小数点后的精度

%e

用科学计数法格式化浮点数

%E

作用同%e,用科学计数法格式化浮点数

%g

%f和%e的简写

%G

%f 和 %E 的简写

%p

用十六进制数格式化变量的地址

 

  ②字符串的format()方法

    格式为:<模板字符串>.format(<逗号分隔的参数>)

print ({0} and {1} is good for big data".format("python","java"))

 

     其中,{0}{1}表示替换的顺序,后面的值顺序要对应好


 

 

PS:博主用的是Python3.5,Anaconda装的,也装了Pycharm。Python2.X版本我就不讲它了。大家多找代码敲