gpt4 book ai didi

Python raw_input 弄乱了字符串连接

转载 作者:可可西里 更新时间:2023-11-01 09:42:12 37 4
gpt4 key购买 nike

我正在尝试在 Python 中做一些相对简单的事情,但我很惊讶这并没有像它应该的那样简单。

我在这里只是想连接三个简单的字符串。在以下所有情况下,在 raw_input 键入的输入都是 "abc":

proj = raw_input("Name of project: ")
print proj
ProjRegex = 'test1' + proj + 'test2'
print ProjRegex

产量:

abc
test2abc

案例二

proj = raw_input("Name of project: ")
print proj
ProjRegex = 'test1%stest2' % (proj)
print ProjRegex

产量:

abc
test2abc

请注意,在这两种情况下,都没有像预期的那样打印 "test1abctest2",而是用 test2 代替 test1。

然后我注意到,如果我根本不使用 raw_input,而是说:

proj = "abc"
ProjRegex = 'test1' + proj + 'test2'

然后它的行为符合预期。

raw_input() 中是否发生了一些想要进行字符串替换的事情?我的理解是它需要键盘输入,去掉一个换行符,然后作为一个字符串返回。

最佳答案

您在 Windows 下运行,对吗?您输入的字符串以 DOS 行结尾结束,因此 ProjRegextest1abc\rtest2 组成。打印时,\r 将光标移动到行首,此时 test2 覆盖 test1

关于Python raw_input 弄乱了字符串连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20358655/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com