python - 在不使用 .join 的情况下在 input() 提示中打印列表的元素并将列表转换为 str

标签 python list

我有一个长度会有所不同的列表,例如 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/

相关文章:

python - 如何获取 tensorflow 中数组的一些值?

python - 为什么需要设置 WORKON_HOME 环境变量?

python - 在列表中添加元组元素

css - 如何让 li 扩展以适应缩略图内容?

python - 使用 BeautifulSoup 直接从 HTML 中提取数据

python - 我的名字中有两个字母数量相等,如何打印这两个字母及其数量

javascript - 使用 createTextNode() 但我需要向其添加 HTML 标签 (JavaScript/JQuery)

python - 当列表的元素在字符串中时,我想从字符串中删除列表中的元素

python - 使用map或split(pyspark)后如何查看RDD的内容?

java - 如何在hibernate中解析联合查询的结果