我是 python 的超級新手(一般代碼)我正在為 python 3 中的函式做一些練習。
我知道這可能是草率的代碼,我將在我的學習程序中努力清理它。
def show_employee():
name = input("Employee name: ")
salary = int(input("Employee salary: "))
default = 9000
if salary <= 9000:
return (f'{name}, {default}')
elif len(salary) == 0:
return (f'{name}, {default}')
else:
return (f'{name}, Salary: {salary}')
我繼續收到此錯誤“ int() 以 10 為底的無效文字:'' ”
我想要完成的只是如果用戶輸入一個數字 9000 或更少,它會回傳他們的名字和 9000。如果他們輸入超過 9000 的任何東西,它會回傳他們的名字和輸入值。令我困惑的部分是我怎樣才能得到它,以便如果他們不輸入工資值,它會默認為 9000?
感謝您抽出寶貴時間提供幫助!
uj5u.com熱心網友回復:
執行此操作的最佳時間是您定義的時間salary。如果您只想處理空字串的情況,您可以這樣做:
salary = int(input("Employee salary: ") or 9000)
這是有效的,因為x or y將評估x它是否是“真實的”,y如果不是——因此thing = maybe_thing or default_thing是一種方便的方法來分配一個default_thingifmaybe_thing是任何“虛假”值(包括一個空字串)。
如果您想用 9000替換任何try/except無效輸入,a會更合適:
try:
salary = int(input("Employee salary: "))
except ValueError:
salary = 9000
uj5u.com熱心網友回復:
而不是立即將輸入轉換為 int:
salary = int(input("Employee salary: "))
首先檢查輸入是否為空,如果需要,轉換為字串:
salary = input("Employee salary: ")
if not salary: # Meaning, len(salary) == 0
salary = default
else:
salary = int(salary)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/438316.html
