如果輸入為空或零,則應為 None。
這是已經嘗試過的:
該int是必要的。
number = int(input('Type an integer: ') or None )
number = number if number != 0 else None
print(number)
如何避免這個問題:
TypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType'
uj5u.com熱心網友回復:
試試這個代碼
只需更改None為'0'第 1 行
因此,如果輸入為空或零,則將其分配為 None
number = int(input('Type an integer: ') or 0)
number = number if number != 0 else None
print(number)
解釋:
第一行要求用戶輸入
如果用戶輸入是空字串(即''),Python 也會將空字串視為布爾物件(實際上是False針對空字串)
由于第一種情況是False(即空用戶輸入)根據Python,它會自動將另一個值分配給int函式的引數,因為or關鍵字
告訴我它是否不起作用...
uj5u.com熱心網友回復:
這里有三個不同的操作:
- 讀取輸入。
int如果可能,0則將該輸入轉換為,否則將其轉換為。- 替換
0為None。
每一個都應該獨立完成。
x = input("...")
try:
number = int(x)
except ValueError:
number = 0
if number == 0:
number = None
目前尚不清楚為什么0如此特殊以至于應該用不同型別的值替換它。
uj5u.com熱心網友回復:
您可以使用 try-except
try:
number = int(input('Type an integer: '))
if number == 0:
number = None
except ValueError:
number = None
print(number)
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/373027.html
上一篇:Console.ReadKey存盤舊密鑰并在c#中成功回傳true后回傳它們
下一篇:改變transform.position永遠不等于transform.position transform.forward
