此程序将所有项输入到letter[]列表中,并应将它们循环到getLetter函数中,但它不起作用。下面的程序仅通过getLetter函数输出列表的最后一项
import time, sys
def getLetter(letter):
while True:
if letter =='A'or letter=='a':
print(' * ')
return
break
if letter =='B'or letter=='b':
print(' ** ')
return
break
print('Enter each character individually')
letterInput=[]
while True:
print('Enter letter number ' + str(len(letterInput)+1),end='')
print('. Enter nothing to stop.')
time.sleep(0.5)
letter = input()
if letter == '':
break
letterInput=letterInput+[letter]
print('These are the letters you have inputted:')
for letter in letterInput:
print(' '+letter)
while True:
for i in range(len(letter)):
output=getLetter(letter[i])
诚然,我是在假设描述中关于您希望输出如何工作的一些空白,因此这只是可以应用的一些主要简化的示例
以下是一些更具python风格的方法,可以用来代替类似JavaScript的语法:
输入:
输出:
下面是我清理这个脚本的尝试,以使它更好地工作,并希望使您更容易添加到它。一些具体说明:
while True
循环中。它在输入循环的上下文中是有意义的;在其他地方,您这样做似乎没有什么特别的原因,而且很可能使您的程序挂起,因为您没有办法确保循环在每种情况下都被中断李>get_letter
,而不是getLetter
。这是一个早早养成的好习惯李>get_letter
函数,这样可以减少代码重复,并在收到意外输入时让它引发异常,而不是永远挂起李>for letter in letters
而不是for i in range(len(letters))
李>letters.append(letter)
而不是letters = letters + [letter]
李>要将项目附加到列表中,应使用:
您的代码有更多问题:
我试图修复它,但我真的不知道脚本应该做什么。 见:
就像评论中所说的@Samwise,您可以使用以下内容:
相关问题 更多 >
编程相关推荐