从解析时的最后一个字符系统标准打印不正确

2024-06-17 00:04:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在学习Python,由于某种原因,我对负索引有一个奇怪的问题。我得到的不是最后一个字符,而是一个空字符串。而不是得到所有字符,但最后我得到了整个字符串回来。下面是我使用的代码:

print('Starting loop')
for line in sys.stdin:
   last = line[-1]
   print 'last = ' + last 
   allButLast = line[:-1]
   print 'AllButLast = ' + allButLast

结果是:

Starting loop
123
123
last =  

AllButLast = 123
last = 

AllButLast = 123

Tags: 字符串代码inloopforstdinsysline
1条回答
网友
1楼 · 发布于 2024-06-17 00:04:14

for循环的开头添加line = line.rstrip()以获得所需的值。当前,换行符被捕获为line[-1],所以您需要首先删除它。键入123后按enter键只不过是一个换行符。你知道吗

相关问题 更多 >