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

Python代码中print语句出现语法错误,原因是什么?

问题原因及修正

你的print语句存在字符串格式化语法错误,核心问题如下:

  • 错误地将%n放在字符串前,Python的%格式化操作符必须紧跟在格式化字符串之后
  • 字符串片段拼接混乱,",00"未正确融入格式化逻辑
  • 整体格式完全不符合Python字符串格式化规则

修正后的代码(两种可选写法)

写法1:匹配你原本思路的%格式化

def tka(A):
    arr=[100,50,20,10,5,2,1]
    for i in range(len(arr)):
        n = A // arr[i]
        p = A % arr[i]
        # 修正格式化语法,变量按顺序放在%后的元组中
        print("%d nota(s) de R$ %d,00" % (n, arr[i]))
        A = p

A = int(input())
tka(A)

写法2:更简洁的f-string(推荐)

def tka(A):
    arr=[100,50,20,10,5,2,1]
    for num in arr:  # 直接遍历数组元素,无需索引,代码更简洁
        n = A // num
        p = A % num
        print(f"{n} nota(s) de R$ {num},00")
        A = p

A = int(input())
tka(A)

额外说明:原代码最后tk=tka(A)属于冗余代码,因为tka函数没有返回值,直接调用tka(A)即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 20:45:41