Python __ 输入输出基础
基础
python没有double
python中的float和其他语言的double精度一样,直接使用float代替即可。
输入
使用input输入,需要注意的是输入的内容如果不强制转化数据类型,默认都是字符串。
一行输入两个用空格隔开变量
内置函数map用于将指定序列中的所有元素作为参数调用指定函数,返回一个新的序列。
对于下面的代码就是说,将分割后的每一个字符串都执行int()函数,转化为int类型。
a,b=map(int,input().split())
一行输入N个字符串
使用split函数,将输入的字符分割,返回字符串序列。
num=input().split()
一行输入一个数组
一维数组:
num = [int(n) for n in input().split()]# 此时list里面是int
#或者
num= list(map(int, input().split()))# 此时list里面是int
二维数组:
常用:
n = int(input()) # 输入列数
line = [] # 初始化列表
for i in range(n):
t = input().split(" ")
line.append(t)
print(line)
也可以初始化一个二维数组
n = int(input()) # 输入列数
line = [[0]*n]*n #初始化为二维数组
for i in range(n):
line[i] = input().split(" ")
print(line) #打印二维数组
不定行输入
使用try except实现
while True:
try:
a,b=map(int,input().split())
print(a+b)
except:
break
输出
使用print输出
从第二个元素开始遍历
a = [ "Sun", "Taobao","Baidu", "Google"]
for i in a[1:]:
print(i)
不换行输出
print函数提供一个额外的参数end,自定义结束内容
样例:
print("x",end="") #输出后什么都不带
print("x",end=" ") #输出内容后带个空格
# 结束内容可以自定义
格式化输出
使用format方法。
使用方法:
a,b=map(int,input().split())
c=a+b
if(b<0):
print('{} + {} = {}'.format(a,0-b,a+b))
else:
print('{} - {} = {}'.format(a,0-b,a+b))
也可以在括号里面写入数字/变量名字,如果输入数字/变量名字,则后面的变量顺序便就会不重要。
例如print('{} + {} = {}'.format(a,0-b,a+b))
可改写为
print('{2} + {1} = {0}'.format(a+b, 0-b,a))
保留指定位数的小数
“ '%.2f' %f ”方法
会四舍五入
使用:
ans=1.123456
x=1.123456
print('%.4f' %ans)
print("g({}) = {}".format('%.3f' %x,'%.3f' %ans))
format函数
会四舍五入
使用1(最推荐)
print("{:.2f}".format(int(c)))
使用2
例:
ans=1.123456
x=1.123456
print(format(x,'.3f'))
print("g({}) = {}".format(format(x,'.3f'),format(ans,'.3f')))
通过乘除直接进行截断(推荐不四舍五入时使用)
很明显,不会四舍五入
print(int(1.23456 * 1000) / 1000 )
round(推荐不保留小数时使用)
会四舍五入
n,s=map(float,input().split())
print(round(s*n))
print(round(s*n,2))
打印所有Python关键字代码
import keyword
print(keyword.kwlist)