python - UVa 问题 458 - The Decoder python runtime error
问题描述
所以,这就是问题https://i.stack.imgur.com/2qaVn.png
这是我的代码。
while True:
try:
code = input()
except EOFError:
break
if len(code) == 0:
continue
decode = ''
for i in code:
decode += chr(ord(i) - 7)
print(decode)
示例输入:
[opz'pz'h'x|p{l'zpunsl'wyvislt5
PM'`V\'HYL'YLHKPUN'[OPZ3'`V\'TH`IL'OH]L'MV\UK'[OL'ZVS\[PVU5
Rllw'jvkpun'huk'{yhpupun'{opz'rpuk'vm'wyvisltz5'P['JV\SK'IL'YLHSS`'L_JP[PUN5
Zv555
TH`'[OL'JVKL'IL'^P[O'`V\5
示例输出:
This is a quite single problem.
IF YOU ARE READING THIS, YOU MAYBE HAVE FOUND THE SOLUTION.
Keep coding and training this kind of problems. IT COULD BE REALLY EXCITING.
So...
MAY THE CODE BE WITH YOU.
它工作得很好,但是当我提交给 UVa 时,它总是给我运行时错误。
我在这里做错了什么?
谢谢你。
解决方案
我可以在另一个裁判平台上获得 AC 并且运行速度非常快,但是onliejudge.org上的“错误答案” 。
import sys
s = {k:k-7 for k in range(128)}
s[10]=10
s[13]=13
sys.stdout.write(sys.stdin.read().translate(s))
但就像你的回答一样,这种方法会因为“超出时间限制”而陷入“UnicodeError”。
import sys
while 1:
s = sys.stdin.read(1)
if s :
try:
print(chr(ord(s)-7),end='')
except UnicodeError:
while 1:pass
else:
break
所以我认为你的代码也陷入了“UnicodeError”运行时错误。
推荐阅读
- powershell - 如何在子目录中找到所有“* .docx”文件,其中顶级目录仅过滤为数字
- python - 如何在Python中四舍五入到最接近的小数
- spring-boot - 使用 websocket 的单个实例上的 RabbitMQ 最大连接数
- pandas - 有条件地使用 Pandas 的累积产品
- c# - 在运行时使用反射查找通用对象属性值
- git - 当我有来自不同用户的不同拉取请求时,如何在从我的仓库的分叉版本合并之前在本地测试拉取请求
- java - Java Web Flux:如何从 ServerHttpResponse 获取正文?
- c++ - 使用 scoped_lock 从互斥队列中提取它后运行 packaged_task
- java - 应用 android.useAndroidX=true 和 android.enableJetifier=true 来修复错误会创建另一个错误
- sql - 在这种情况下,我们如何在 sql 中使用数据透视?