所以我被指派在python中编写一个程序,提示用户输入一个单词,然后按顺序删除单词中的字母。第一行中的第一个字母,第二行中的第二个字母等。
例如,对于"亚特兰大":
tlanta
alanta
atanta
atlnta
atlata
atlana
atlant
这就是我所拥有的和语义上的,它没有做任何接近我想要的事情。我想很清楚问题出在for循环的第一行和第二行。我不知道该怎么办。
答案 0 :(得分:1)
问题在于:
end = word - letter
此处,word
是一个字符串,如atlanta
,而letter
是一个数字,如2
。你期望减去他们做什么?
你想要做的是获得atlanta
的所有字母,除了#2,对吧?你通过切片来做到这一点。使用这些值,word[:letter]
将为您提供'at'
,而word[letter:]
将为您提供'lanta'
。您应该能够从中了解如何获得您真正想要的内容'anta'
。
一旦你有'at'
和'anta'
,你只需要添加+
,然后打印结果。
答案 1 :(得分:0)
你可以这样想:
您需要遍历打印整个单词的过程,除了从字母开始,与单词组成的字母数一样多。
所以它会是这样的:
word = raw_input("Enter word:")
for i in range(len(word)): # loop as many times as the number of letters
print word[:i] + word[i+1:] # print all letters but the current iteration's