我有一个长度会有所不同的列表,例如 guessed = ["w", "o", "*", "*"]
需要显示为:Guess a letter: w o * * <
然后接收用户输入。
老师设定的限制:
- 我不能使用 .join() 等列表方法
- 我无法将 guessed 转换为 str
我的代码
def printList(guessed):
return print(*guessed, end=" ")
userGuess = input("Guess a letter %s > \n " % printList(guessed))
输出
w o * * Guess a letter None >
我知道会发生这种情况,因为我将 None 类型连接到 input() 提示符中的字符串,但我不确定如何解决此问题。
另一个潜在的想法:
创建一个函数,它采用猜测的长度并将其切片,例如,guessed[0] + guessed[1] + ....但我不确定我将如何做到这一点,因为我需要this 在 input() 提示中,它需要概括为猜测的长度(这将发生变化)。
几个小时以来,我一直在尝试新事物,这是迄今为止我想出的最好的,如果有任何建议和建议,我将不胜感激。
最佳答案
根据列表的长度创建格式字符串:
# use '{} ' for each elem of list and multiply it by its len to get correct amounts
# then you can use that inside input and format the decomposed list into it:
formatstring = "Guess a letter " + '{} '*len(guessed) + "> \n "
input( formatstring.format(*guessed) )
输出:
Guess a letter w o * * >
关于python - 在不使用 .join 的情况下在 input() 提示中打印列表的元素并将列表转换为 str,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64405076/