Python新手问题:打印输出时如何给变量增加指定数值后拼接
问题原因
你的代码无法正常运行有两个核心问题:
- Python 不支持直接将字符串和整数类型用
+拼接,你的skonr是整数类型,直接和前后字符串拼接会触发类型错误 - 末尾的
skonr + 2没有做运算优先级控制,也没有转成字符串,即使解决类型问题也无法得到预期结果
解决方案
方案1:适配你原有拼接逻辑的修改
用str()方法将整数转为字符串后再拼接,同时给skonr + 2加括号保证先做加法运算:
karl = "Oddur " kona = "Línu " skonr = 39 kr = "3500" lina1 = "keypti skónumer " lina2 = " fyrir " lina3 = "sem kostuðu " lina4 = " krónur.\nEn þá mundi hann að hún notar skónúmer " print(karl + lina1 + str(skonr) + lina2 + kona + lina3 + kr + lina4 + str(skonr + 2))
方案2:更推荐的f-string写法(Python3.6及以上版本支持)
不需要手动拼接字符串和处理类型转换,直接在大括号内写变量或运算逻辑即可,代码可读性更高,不易出错:
karl = "Oddur" kona = "Línu" skonr = 39 kr = 3500 print(f"{karl} keypti skónumer {skonr} fyrir {kona} sem kostuðu {kr} krónur.\nEn þá mundi hann að hún notar skónúmer {skonr + 2}")
两种方案运行后都可以得到你预期的输出效果。
内容的提问来源于stack exchange,提问作者himmispiderman
相关产品推荐
相关产品推荐

