现在许多oj平台都开始支持Python提交了,相较于C++,Java语言解决ACM问题,Python由于其自身的丰富类库,可以使用很简单的代码解决上百行C语言代码解决的问题。当然,运行比较慢也是硬伤…各有所得吧,在一些在输入输出上,Python还是跟前者有很大的不同的:
-
单组输入
在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~
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/116817.html