【问题标题】:How can I remove whitespace from concatinated substring indexing in Python? [duplicate]如何从 Python 中的串联字符串索引中删除空格? [复制]
【发布时间】:2018-03-31 10:01:27
【问题描述】:

我正在为 CS 入门课程解决一个问题。虽然我已经让它工作了,但我还没有让它正常工作。

这是作业: 编写一个程序,该程序使用 input() 读取字符串,并输出相同的字符串,但交换了第一个和最后一个字符。 (您可以假设输入字符串的长度至少为 2。)例如,在输入 Fairy 时,正确的程序将打印 yairF。提示:使用您对上一个程序的解决方案作为答案的一部分。

这是我的代码:

user_input = input()
print(user_input[len(user_input)-1],user_input[1:len(user_input)-1],user_input[0])

不幸的是,我的输出是“y air F”而不是“yairF”。我如何能够在没有空格的情况下连接这个索引?我尝试了很多事情都没有成功,并且在我的搜索中找不到任何帮助。我应该能够使用 len 函数和索引子字符串来实现这一点。

提前感谢您从一个完全的新手到 Python!

【问题讨论】:

  • 这里有一个小提示:您可以使用负索引从右侧开始索引。例如,x[len(x)-1] 等价于 x[-1]。也适用于切片,例如user_input[1:-1]

标签: python string indexing substring string-concatenation


【解决方案1】:

只要做:

user_input = input()
print(user_input[len(user_input)-1] + user_input[1:len(user_input)-1] + user_input[0])
#yairF

默认情况下,当您在打印语句中使用, 时,它后面会包含一个whitespace。在这里,您将添加所有必需的字符串,然后将其传递给 print 语句。


或者,您可以使用sep= 将分隔符指定为empty string

print(user_input[len(user_input)-1],user_input[1:len(user_input)-1],user_input[0] , sep='')

还有一个建议。您可以直接执行 user_input[-1] 而不是 user_input[len(user_input)-1] ,这将为您提供 last char

【讨论】:

  • 谢谢!现在看起来很简单。
  • 通常大多数是 :D 无论如何,很高兴提供帮助。
【解决方案2】:

这是因为print() 的默认行为。

您可以传递参数sep 来覆盖默认分隔符。

print(s1, s2, s3, sep='')这个代码会帮助你。

在python解释器中查看文档help(print)

【讨论】:

    猜你喜欢
    • 2012-11-19
    • 2022-01-24
    • 2014-01-26
    • 2013-12-11
    • 2021-12-12
    • 2011-12-07
    • 2018-08-15
    • 2015-04-21
    相关资源
    最近更新 更多