下面是我的代码。我正在制作一个发现回文的小程序。我希望程序接受用户输入,将其保存到变量中,然后检查是否有空格。如果它找到一个空间来保存其索引,然后将其取出以检查回文。出于好奇并提高了我的编程技能,我希望以后能在单词相反的情况下增加空格。例如,护士奔跑=护士向后奔跑,但我也想向后显示它并向后添加空间。
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")
此外,如果您对我如何提高提问能力或以更好的方式写这个问题有任何建议,请告诉我。谢谢您的阅读。
答案 0 :(得分:1)
只需反转word
即可,而不是重建修改后的newWord
!
print("{} is a palidrone".format(word[::-1]))
在您的示例中,storeVal
也不存储空格的索引-而是存储输入字符串中的空格数。
答案 1 :(得分:0)
根据其他答案,仅出于显示目的,您可以打印word
而不是newWord
。但是,如果您想学习如何获得空间的原始位置,请注意以下几点:
word.find(" ", space_index + 1)
来调用下一个索引,其中{{1 }}是最后找到的空间的索引,直到得到-1,这意味着不再有空间