You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python新手求助:如何在文本中插入多个变量(MadLib开发)

解决Python MadLib游戏中print语句插入多变量的问题

嘿,作为编程新手能自己推进到输入部分已经超棒啦!你的问题其实是Python里很常见的字符串与变量拼接场景,现有代码的问题是字符串片段和变量之间缺少必要的分隔/连接方式,导致Python无法识别语法,下面给你几种简单好用的解决方案:

方法1:用逗号分隔(最直接的快速修复)

在每个字符串片段和变量之间加上逗号,Python会自动帮你用空格分隔各个元素,修改后的代码如下:

print("Suddenly he grabs me, tipping me across his", bodyPart1, adj1, "movement, he angles his", noun1, "so my", bodyPart2, "is resting on the", noun2, "beside him")

这种方式不需要改动太多原有代码,适合快速调整,但空格是固定的,如果需要自定义空格或特殊格式就不太灵活。

方法2:使用f-string(Python 3.6+最推荐的方式)

这是现在Python里最简洁直观的字符串格式化方式,在字符串开头加f,然后把变量直接放在{}里嵌入到句子中,完全符合我们正常写句子的逻辑:

print(f"Suddenly he grabs me, tipping me across his {bodyPart1} {adj1} movement, he angles his {noun1} so my {bodyPart2} is resting on the {noun2} beside him")

这种方式你可以精准控制每个变量的位置和周围的空格,代码可读性拉满,新手用这个以后写类似逻辑会越来越顺手。

方法3:字符串拼接(用+号,不推荐但了解即可)

把每个字符串片段和变量用+连接,但要注意如果变量不是字符串类型(比如数字)需要先转成str(),还要手动添加空格:

print("Suddenly he grabs me, tipping me across his " + bodyPart1 + " " + adj1 + " movement, he angles his " + noun1 + " so my " + bodyPart2 + " is resting on the " + noun2 + " beside him")

这种方式比较繁琐,容易漏加空格或者因类型不匹配报错,所以一般不推荐日常使用。

最后提醒下:确保bodyPart1、adj1这些变量都已经通过input()获取到用户输入的值哦,不然会出现变量未定义的错误~

内容的提问来源于stack exchange,提问作者Ryan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 06:53:56