我的代码返回了一个不需要的"无"声明。我已经搜索了其他问题,希望找到解决方案,但我似乎无法弄明白。任何帮助将不胜感激。
def int_mult(no1,no2):
try:
no3 = int(no1)
no3 = int(no2)
except ValueError:
return print("Error: Invalid Argument Type")
no1 = int(round(no1))
no2 = int(round(no2))
return (no1 * no2)
print (int_mult(4.49,"apple"))
答案 0 :(得分:2)
我认为最好的方法是实际提出异常。
def int_mult(no1, no2):
try:
return int(no1) * int(no2)
except ValueError:
raise TypeError("Invalid Argument Type")
try:
print(int_mult_(4.49, "apple"))
except TypeError as e:
print(", ".join(e.args))
答案 1 :(得分:0)
你说:
return print("Error: Invalid Argument Type")
这并不告诉python在打印函数中返回字符串IN。 相反,它告诉python返回打印功能。
这可能会更清楚:
在你的最后一行中你写道:
print (int_mult(4.49,"apple"))
所以第一个python运行int_mult()函数,函数返回
print("Error: Invalid Argument Type")
然后python打印,就像你在最后一行中订购的那样,确切地说是你的Int_mult()函数返回的内容。对于python,它看起来像这样:
print ( print("Error: Invalid Argument Type") )
在这一行中,Python首先运行函数print("Error: Invalid Argument Type")
并打印字符串。之后,python运行打印(打印(“错误:无效的参数类型”))并打印将返回None
或类似{{1}的内容的打印函数}}
如果我是你,我只会将第5行更改为
<function house at 0x7f494763abf8>
和你的最后一行
return ("Error: Invalid Argument Type")
)
我希望我帮助过你。