我只是刚开始使用python,以前在编码方面的经验很少。

我创建了一个简单的程序来计算百分比变化,但是要打印行,我正在尝试稍微复杂一些的东西。

我当前的代码如下:

num1 = float(input("what is the original number?"))

modi = float(input("How much do you want to increase it by?(please use 0.83/1.56 types rather than percentages)"))

ans = num1 * modi

print(ans,"is",modi,"times"if modi > 1 ("greater than")else "less than",num1)


计算工作正常,但是每当我集成打印线的更高级版本时,都会出现错误:


  TypeError:“ int”对象不可调用


我没看错,可以吗?

最佳答案

您错误地使用了if表达式。应该是"greater than" if modi > 1 else "less than"。通常,表达式的语法为:true_value if condition else false_value。正如您的代码片段中所写,Python将1 ("greater than")解释为试图使用参数1()调用函数"greater than"的尝试,因此关于1的投诉不可调用。

10-07 17:57