jcpython2 发表于 2022-9-17 18:16:06

print(k,'%.5f' % (k/n)) 运算kn必须加()?

本帖最后由 jcpython2 于 2022-9-17 18:22 编辑

print(k,'%.5f' % (k/n))


print(k,'%.5f' % k/n)

第一段代码正确第二段代码报错,哪怕我把k全部格式化为int也是报错

TypeError: unsupported operand type(s) for /: 'str' and 'int'

% 后的kn运算必须加()?   不懂,为啥不能直接传值??

临时号 发表于 2022-9-17 18:24:33

报错说的很明白了,你这里做了字符串除以整数的操作
为什么呢?因为这里的%运算符优先级比/运算符优先级要高
所以他是执行'%.5f' % k,再执行/n
为了解决这个问题,只能通过加括号的方式改变k/n的优先级
页: [1]
查看完整版本: print(k,'%.5f' % (k/n)) 运算kn必须加()?