![](/img/trans.png)
[英]Python: Unsupported operand type(s) for &: 'NoneType' and 'NoneType' whilst using lambda
[英]Unsupported operand type(s) for *: 'NoneType' and 'NoneType' (Python)
我目前只是在玩弄定義函數,並且遇到了這個錯誤。 我只是想做一個簡單的功能,用戶輸入2個數字,然后將它們相乘。 另外,請盡可能簡單地解釋我在做什么錯。 (我是菜鳥)
def userinput():
while True:
try:
number = int(input("Number: "))
break
except ValueError:
print("NOPE...")
def multiply(x,y):
z = x * y
print(z)
while True:
x = userinput()
y = userinput()
multiply(x,y)
again = input("Again? ")
if again == "No" or again == "no":
break
else:
pass
在函數userinput()
,您永遠不會返回number
,因此python默認return None
。 因此,當您將x
和y
傳遞給multiply()
,您嘗試執行None * None
,因此會出現錯誤。
在userinput()
的try / except結構之后return number
如果您還想檢查浮點數,則可以執行以下操作:
while True:
number = input("Number: ")
try:
return int(number)
except ValueError:
try:
return float(number)
except ValueError:
print("NOPE...")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.