在python中使用input()高级玩法提高输入速度
需求:用户给定一个数字N,以及N个数字,计算N个数字的和,如给定数字5,给定5个数字分别为1,2,3,4,5,则计算1+2+3+4+5,返回15
基础玩法:
>>> sum=0
>>> for i in arr:
sum=sum+i
>>> sum
15
一级玩法:用内置的stdin和stdout加快读入写出速度。
sys.stdin是一个文件对象,用于从文件中读取输入。
stdout.write(“Dn”)的速度比print(“D”)速度快
>>>#加载stdin,stdout模块
>>> from sys import stdin,stdout
>>> #定义主函数
>>> def main():
#从标准输入中读取N
n=stdin.readline()
#从标准输入中获取N个数字
arr=[int(x) for x in stdin.readline().split()]
sum=0
#计算N个数字的和
for i in arr:
sum=sum+i
#写出计算结果
stdout.write(str(sum))
>>>
#执行主函数
>>> if __name__=="__main__":
main()
5
1 2 3 4 5
15
>>>
利用标准输入输出可以提高速度,但代码过于复杂,主函数不能重复使用。
二级玩法:提前自定义好不同的输入函数,使用时调用即可
自定义整数输入函数get_ints()
>>>#注意此处的map(int,xxx)中的int指定了数据类型,如果是整数型则为int,字符串则为str
>>> def get_ints():return map(int,sys.stdin.readline().strip().split())
#strip()用于移除字符串头和尾的空格
>>> a,b,c=get_ints()
1 2 3
>>> a
1
>>> b
2
>>> c
3
>>>
自定义字符型输入函数get_strings()
>>> def get_strings():return map(str,sys.stdin.readline().strip().split())
>>> a,b,c=get_strings()
lemon loser yellow
>>> a
'lemon'
>>> b
'loser'
>>> c
'yellow'
>>>
原文始发于微信公众号(BioInfo):Python12-Python中input()高级玩法
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/238200.html