<p>下面是我清理这个脚本的尝试,以使它更好地工作,并希望使您更容易添加到它。一些具体说明:</p>
<ol>
<li>不要无缘无故地把所有东西都放在<code>while True</code>循环中。它在输入循环的上下文中是有意义的;在其他地方,您这样做似乎没有什么特别的原因,而且很可能使您的程序挂起,因为您没有办法确保循环在每种情况下都被中断</李>
<li>Python中的标准约定是将事物命名为<code>get_letter</code>,而不是<code>getLetter</code>。这是一个早早养成的好习惯</李>
<li>我实现了您的<code>get_letter</code>函数,这样可以减少代码重复,并在收到意外输入时让它引发异常,而不是永远挂起</李>
<li>使用<code>for letter in letters</code>而不是<code>for i in range(len(letters))</code></李>
<li>使用<code>letters.append(letter)</code>而不是<code>letters = letters + [letter]</code></李>
<li>熟悉{<cd9>}和{<cd10>};这些方法非常有用,可以轻松格式化字符串</李>
</ol>
<pre><code>import time
def get_letter(letter: str) -> str:
letter_symbols = {
'a': '*',
'b': '**',
}
return f' {letter_symbols[letter.lower()]} '
print('Enter each character individually')
letters = []
while True:
print(
f"Enter letter number {(len(letters)+1)}. "
"Enter nothing to stop."
)
time.sleep(0.5)
letter = input()
if not letter:
break
letters.append(letter)
print('These are the letters you have inputted:')
print(' '.join(letters))
for letter in letters:
print(get_letter(letter))
</code></pre>