在循环中逐个字符地遍历字符串

Iterating through a string character by character in a loop

所以我在 Python 3 中使用 Zelle 的图形模块,我正在努力做到这一点,以便用户输入一个词,然后每次他们单击图形 window ,它会在我单击的位置绘制单词的下一个字母。我知道这必须使用字符串索引,但我不确定如何遍历字符串索引,因为将循环变量解析为索引会给出字符串索引必须为整数的错误。

word_input = input("Enter a word!")
win = GraphWin("Graphic Letters", 400,400)
for ch in word_input:
    click_location = win.getMouse()
    word_written = Text(click_location, word_input[1])
    word_written.draw(win)

这是我目前所拥有的,但我只能将数字解析为

word_input[]

因为它不允许我将 'ch' 放入其中以遍历每个字符串的索引。因此,如果我输入 'bee',它只会在 window 中绘制三次 'e',而不是按顺序绘制 b、e、e。

ch已经是字符,不需要再下标word_input:

word_input = input("Enter a word!")
win = GraphWin("Graphic Letters", 400,400)
for <b>ch</b> in word_input:
    click_location = win.getMouse()
    word_written = Text(click_location, <b>ch</b>)
    word_written.draw(win)

一个字符串是它的字符(也是字符串)的可迭代对象,所以如果你写 for ch in word_input,那么 ch 每次迭代都会将下一个字符作为值,例如:

>>> for ch in 'foobar':
...     print(ch)
... 
f
o
o
b
a
r

但是请注意,这里很可能所有字符都呈现在彼此之上。您可能希望 "sleep" 在迭代之间给用户一些时间来移动鼠标。