[英]Why doesn't this queue work in multiprocessing?(append() method in function body)
[英]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.