Python3 实现字符读入
Python3 实现字符读入
来源:https://www.luogu.com.cn/discuss/724761
此题卡内存,如果按照 Python 常用的 input().split()
方法会 MLE。
因为 input()
一次读入大量字符串,占用内存极大。
于是打算按照 C++ 的快读逻辑写一个 Python3 的快读。
思路就是,利用 sys.stdin.read
的读入若干个字符功能,实现类似 C++ 的 getchar()
的功能,其余的与 C++ 类似。
from sys import stdin def gc(): return stdin.read(1) def digit(c): if c == '': return False return ord(c) >= ord('0') and ord(c) <= ord('9') def read(): n, f, c = 0, 0, gc() while not digit(c): f, c = f | (c == '-'), gc() while digit(c): n, c = n * 10 + ord(c) - ord('0'), gc() if f: return -n; return n
本文来自博客园,作者:RainPPR,转载请注明原文链接:https://www.cnblogs.com/RainPPR/p/python3-getchar.html
如有侵权请联系我(或 2125773894@qq.com)删除。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战