用户交互以及格式化输出
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版本我就不讲它了。大家多找代码敲