我想要制作的是一个程序,逐字逐句地循环一个单词或短语:
word: "dog"
d
do
dog
do
d
我写了这个:
word = 'factory'
temp_word = ''
temp_word2 = ''
# Builds up 'factory' letter-by-letter into temp_word
for i in word:
temp_word += i
print(temp_word)
# Takes letters off 1 by 1
for i in reversed(word):
temp_word2 = temp_word.replace(i, "")
temp_word = temp_word2
print(temp_word2)
输出正是我想要的:
f
fa
fac
fact
facto
factor
factory
factor
facto
fact
fac
fa
f
但是,如果有重复的字母,它会立即删除这两个字母,如下:
h
he
hel
hell
hello
hell
he
he
h
如何才能删除一个字母,而不删除两个字母?想不出解决方案
答案 0 :(得分:1)
您可以将计数作为1
传递给替换,以仅替换一个匹配项。
temp_word2 = temp_word.replace(i, "",1)
你也可以将最后一个字母切掉:
for i in reversed(word):
temp_word2 = temp_word[:-1]
答案 1 :(得分:1)
你有使用tempvariable,还是允许你只使用字符串切片?
int a; // memory address should end in 0x0,0x4,0x8,0xC
int b[2]; // 8 bytes 0x0,0x8
int b[4]; // 16 bytes 0x0
答案 2 :(得分:1)
这是一个解决方案,它并不是最好的。根据您对此的要求,我可以提供更具体的解决方案
word = 'hello'
temp_word = ''
temp_word2 = ''
for k in word:
temp_word += k
print temp_word
while temp_word:
temp_word = temp_word[:-1]
print temp_word
修改强>
我更喜欢这个版本
word = 'hello'
for k in list(range(1,len(word)+1)) + list(range(len(word)-1,1,-1)):
print word[:k]