当前位置: 首页 > 面试题库 >

Python语句中的退格行为,在代码中打印'\ b'的正确行为是什么?

尉迟龙光
2023-03-14
问题内容

我注意到1.如果仅打印退格键,即Python中的\ b序列,则它完全空白。2.如果我打印字符后跟退格键,例如’sssss \ b \ b \ b \ b \
b’,那么它将打印多个’s’字符,但是如果我打印类似’sssss \ b \ b \ b \ b \ baaaa ‘,则退格\
b实际上会像我在键入退格并删除’s’字符一样。

我在Windows XP上使用Python 2.6。这是预期的行为。如果我尝试获取退格字符的长度,则将其打印为1。

这是我的测试代码-

>>> print 'ssss\b\b\b\b\baaaaa'
aaaaa
>>> print 'ssssssss\b\b\b\b\baaaaa'
sssaaaaa
>>> print 'ssssssss\b\b\b\b\b'
ssssssss
>>> print 'ssssssss\b\b\b\b\baaaaa'
sssaaaaa
>>> print '\b\b\b\b\b'

>>>

我的问题是-当我在Python中打印’\ b’时,预期的行为是什么?为什么删除仅在特定情况下才起作用?


问题答案:

扩展答案:退格键不会删除任何内容,它会将光标移到左侧,并且随后的内容将其覆盖。如果您要写的设备可能会显示过大的笔迹(例如老式的“硬拷贝”终端,其作用类似于打字机),则实际上您会在旧字符的上方看到新字符。这就是退格具有这些语义的
真正 原因。

在unix命令行上,可以将shell设置为将退格解释为“擦除”的含义-除非设置为仅以这种方式对待delete。但这取决于程序读取您的输入。



 类似资料:
  • 问题内容: 我想知道是否有一种方法可以打印没有换行符的元素,例如 并且将打印而不是通常打印的内容 谢谢! 问题答案: 这可以用轻松完成打印() 函数 与 Python 3中 。 会给你 在 Python v2中, 您可以通过以下方式使用该函数: 作为源文件中的 第一条 语句。 如print()文档所述: 请注意,这类似于我最近回答的问题(https://stackoverflow.com/a/12

  • 问题内容: 我有以下代码: 如果我没有在goroutine中从缓冲区读取的代码,它会输出这样的消息,这是我期望发生的事情: 但是,将其放在goroutine中不会打印任何内容。 有人可以解释为什么吗? 问题答案: 函数完成后,您的程序将退出。这很可能在您的goroutine有时间运行并打印其输出之前发生。 一种选择是从通道读取主goroutine块,并在完成工作后将goroutine写入通道。

  • 在每个print语句之前使用扫描器解决了这个问题,但我想要一个好的编程方法来解决这个问题。

  • 问题内容: 这是执行代码 当我执行它时,它给我以下输出 正确地将cx解释为指针。但是,当我打印cx时,它会打印,而当我打印或格式化cx时,它会正确地打印地址。为什么会这样呢? 问题答案: 默认的打印动词使用是。虽然在打印区分价值VS指针值,这就是为什么你看到前面。 接下来,您具体告诉使用动词,请参阅“ 打印”部分,然后进行打印。

  • 我正在使用以下代码: 目的是将我的Wordpress网站上的分类名称和作者发送到Google Analytics(内容分组)。 然而,当我的网站被浏览时,我的源代码(在头部)仍然显示php标签。如何确保正确解析PHP代码并正确插入作者/类别信息?

  • 我遇到的问题是“是/否”语句,如果我输入“否”,它将继续退出程序。请告诉我问题出在哪里? 导入java。util。随机的导入java。util。扫描仪; 公共类NumberGame{private static final int DO_NOT_PLAY_reach=0; }