如何用Python编写代码实现重复提问直至用户猜对目标短语?
语法错误排查与修复方案
错误根源
原代码的核心语法错误是多行字符串未正确包裹:第一个提示文本跨行了,但没有使用三引号("""或''')包裹,也没有用\n转义换行,导致Python解析器无法识别完整字符串。此外还存在拼写错误:whitch应为witch。
修复后的完整代码
from itertools import chain, repeat target_phrase = "trick or treat" # 用户需要猜对的目标短语 # 用\n处理换行,修正拼写,确保字符串格式合法 prompts = chain( ["You meet a witch with a cauldron full of candies, what do you say?\n"], repeat("Noope! Try again: ") ) # 生成用户输入迭代器 user_inputs = map(input, prompts) # 过滤出包含目标短语的输入,取第一个匹配项 correct_input = next(filter(target_phrase.__contains__, user_inputs)) print(f"Perfect! You got it: {correct_input}")
关键调整点
- 修复多行字符串的语法问题,用
\n替代直接换行,或改用三引号包裹多行文本 - 修正拼写错误
whitch→witch - 优化重复提示文本,让交互逻辑更清晰
- 增强最终输出的反馈信息
内容的提问来源于stack exchange,提问作者Canuk info
相关产品推荐
相关产品推荐

