如何在python中使用整数向索引添加空格?

时间:2018-09-19 00:38:29

标签: python string indexing replace

更多信息

下面是我的代码。我正在制作一个发现回文的小程序。我希望程序接受用户输入,将其保存到变量中,然后检查是否有空格。如果它找到一个空间来保存其索引,然后将其取出以检查回文。出于好奇并提高了我的编程技能,我希望以后能在单词相反的情况下增加空格。例如,护士奔跑=护士向后奔跑,但我也想向后显示它并向后添加空间。


word = input("Please enter a word")

storeVal = word.count(" ")
print()

newWord = word.replace(" ", "")
print(newWord)
print()

while True:

  if newWord == "":
    print("Sorry, but you did not enter a word")
    break

  elif newWord == newWord[::-1]:
    #use the index storeVal and add it in the string to put a space back
    print(" is a palidrone")
    break

  elif newWord != newWord[::-1]:
    print("This is not a palidron")
    break

  else:
    print("You have reached an error")

此外,如果您对我如何提高提问能力或以更好的方式写这个问题有任何建议,请告诉我。谢谢您的阅读。

2 个答案:

答案 0 :(得分:1)

只需反转word即可,而不是重建修改后的newWord

print("{} is a palidrone".format(word[::-1]))

在您的示例中,storeVal也不存储空格的索引-而是存储输入字符串中的空格数。

答案 1 :(得分:0)

根据其他答案,仅出于显示目的,您可以打印word而不是newWord。但是,如果您想学习如何获得空间的原始位置,请注意以下几点:

  • word.find(" ")将为您提供第一个空格的索引,如果找不到则为-1,您可以将其保存到列表中,然后调用word.find(" ", space_index + 1)来调用下一个索引,其中{{1 }}是最后找到的空间的索引,直到得到-1,这意味着不再有空间
  • 另一个(受过良好教育)(我认为)的人,将枚举字符串并使用列表理解(或设置,您不在乎顺序)来收集列表中空格的所有索引。