簡體   English   中英

str() 在我的函數體中不起作用

[英]str() doesn't work in the body of my function

我正在嘗試編寫一個簡單的函數,我需要將一個字符串和一個轉換為字符串的整數連接起來。 我的代碼如下:

def bonus_time(salary, bonus):
    total_Salary = 0

    if bonus == True:
        total_Salary = salary * 10
    else:
        total_Salary = salary

    print(total_Salary)    
    str(total_Salary)        
    return "$" + total_Salary

print(bonus_time(1000, True))

我得到的錯誤是 python 無法連接 string 和 int,即使我使用str()將 int 轉換為字符串。

非常感謝您的幫助。

您無需重新分配轉換后的值。 只需將您的退貨聲明更改為

return "$" + str(total_Salary)

並省略先前對 str() 的調用。 此外, total_Salary = 0沒有影響,因為您之后要更改變量。


總結一下,你可以寫:

def bonus_time(salary, bonus):
    total_Salary = salary * 10 if bonus else salary
    return "${}".format(total_Salary)

或者 - 甚至更短,使用三元運算符:

 def bonus_time(salary, bonus): total_Salary = salary * 10 if bonus else salary return "${}".format(total_Salary)

我認為你的第一個 if/else 表達式更具可讀性,應該改用。

代替 :

str(total_Salary)

return "$" + total_Salary

return "$" + str(total_Salary)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM