oj中使用Python提交的常用技巧
2018-03-29 14:34
1666 查看
现在许多oj平台都开始支持Python提交了,相较于C++,Java语言解决ACM问题,Python由于其自身的丰富类库,可以使用很简单的代码解决上百行C语言代码解决的问题。当然,运行比较慢也是硬伤…各有所得吧,在一些在输入输出上,Python还是跟前者有很大的不同的:
单组输入
在python里输入都是用
如果输入多个字符串,则一般要使用
如果需要输入整数之类的:
如果输入的是数组,或者说是列表:
如果获得的是一个整型数组,则稍微麻烦一点,同样的思路,输入的一整个字符串,分割成多个字符串,然后对它们进行int强制转化,然后放到一个list里就好,这里要对多个字符串执行相同的操作,因此可以使用 Python里常用的
多组输入
我们经常遇到的一种情况是 读取到文件末尾(EOF)结束,多组输入的情况,在Python中可以借助异常处理来解决,例如:
这里就是最简单的多组输入了,就相当于c中 …!= EOF 了
输出的直接print了嘛,不过哟个问题就是Python中直接使用print 的话,是一个print 一个换行的,不让它自动换行的方法就是在print里添加控制的参数:
这样就是在一行输出了,当然还有另一个问题,就是经常要使用到格式输出,比如输出指定位数的小数还用用0来占位之类的,方法很多,用的比较到的是使用format来控制输出,也很方便,请看 :格式化输出
end~
单组输入
在python里输入都是用
input()方法,对于单个的输入来说,这样直接的输入就是输入了一个字符串:
str = input()
如果输入多个字符串,则一般要使用
split()函数:
str1, str2 = input().split(' ') #输入两个字符串,使用空格分隔输入
如果需要输入整数之类的:
a = int(input()) #转化一下就好
如果输入的是数组,或者说是列表:
strlist = input().split(' ') #得到的是字符串列表
如果获得的是一个整型数组,则稍微麻烦一点,同样的思路,输入的一整个字符串,分割成多个字符串,然后对它们进行int强制转化,然后放到一个list里就好,这里要对多个字符串执行相同的操作,因此可以使用 Python里常用的
map,例如:
intlist = list(map(int, input().split(' '))) # 第一步 temp1 = input().split(' ') #第二步 map(int, temp1) map(a , b) 这里的a表示的要进行的操作,可以是库函数也可以是自己定义的函数 #第三步 map返回的不是一个list,这里再使用list()转化一下就好了
多组输入
我们经常遇到的一种情况是 读取到文件末尾(EOF)结束,多组输入的情况,在Python中可以借助异常处理来解决,例如:
while True: try: a = input() except EOFError: break
这里就是最简单的多组输入了,就相当于c中 …!= EOF 了
输出的直接print了嘛,不过哟个问题就是Python中直接使用print 的话,是一个print 一个换行的,不让它自动换行的方法就是在print里添加控制的参数:
a = "hello " b = "Python" print(a, end = ' ') print(b)
这样就是在一行输出了,当然还有另一个问题,就是经常要使用到格式输出,比如输出指定位数的小数还用用0来占位之类的,方法很多,用的比较到的是使用format来控制输出,也很方便,请看 :格式化输出
end~
相关文章推荐
- python常用函数和使用技巧日常总结(不定期更新)
- python使用Image处理图片常用技巧分析
- python3.4 常用快捷键使用技巧
- python使用Image处理图片常用技巧分析
- python3.4学习笔记(六) 常用快捷键使用技巧,持续更新
- Windows操作系统 常用网络命令使用技巧详解
- Windows操作系统常用网络命令使用技巧详解
- 常用网页使用js技巧收集231个
- 表单常用技巧(表单提交)
- 电脑使用常用技巧54条
- Windows操作系统 常用网络命令使用技巧详解
- JavaScript使用技巧精萃 常用方法
- clistctrl 常用使用技巧
- UE常用使用技巧
- Python splitlines使用技巧
- 常用的XHTML标签的使用技巧介绍
- Windows常用网络命令(五)Tracert、Route 与 NBTStat的使用技巧
- 常用网络命令使用技巧详解
- 常用网页使用js技巧收集续一
- VI指令及其使用技巧(汇总,仅最常用的)