我刚刚在这里注册,因为我正在参加Python的在线课程,并且一直在使用这个网站来帮助我完成课程。我是;卡住了。
我没有发布我的实际作业,而只是我的代码中的一个元素,我正处于困难时期......
我正在尝试使用包含字母表中字母的列表来迭代字符串。我想让列表中的每个字母迭代不同索引处的单词。例如:
word =“熊猫” char_list = ['a','b','c']等...... 输出应该是aanda,panda,paada ...... 随后是banda,pbnda,pabda,...
我的代码只使用列表中的第一个字符来迭代单词。 对不起,我对编码感到非常新......
index = 0
word = "panda"
possible_char = ['a', 'b', 'c', 'd', 'o']
for char in possible_char:
while index < len(word):
new_word = word[:index] + char + word[index + 1:]
print (new_word)
index = index + 1
答案 0 :(得分:1)
你非常接近。
您只需将索引重置为零。所以在for循环之后,你的第一个命令应该是index=0
。
答案 1 :(得分:1)
您的while
循环仅适用于外for
循环的第一次迭代,因为index
未重置,并且在第一次完成后仍保留在len(word)
。尝试将初始化它的行移动到外部循环内的0
:
for char in possible_chars:
index = 0
while index < len(word):
#...
答案 2 :(得分:1)
index = 0
word = "panda"
possible_char = ['a', 'b', 'c', 'd', 'o']
for char in possible_char:
index = 0
while index < len(word):
new_word = word[:index] + char + word[index + 1:]
print (new_word)
index = index + 1
你必须在forloop上重新初始化索引,只是为了重新开始单词
答案 3 :(得分:1)
在完成对每个字符的迭代后,您只需要将索引重置为0.
index = 0
word = "panda"
possible_char = ['a', 'b', 'c', 'd', 'o']
for char in possible_char:
index=0
while index < len(word):
new_word = word[:index] + char + word[index + 1:]
print (new_word)
index = index + 1
答案 4 :(得分:0)
您忘记在for循环中初始化索引计数器:
sys.argv[0]