2017-03-29 55 views
-2

我寫了下面的腳本:如何一起打印字符串和整數變量?

string="My name" 
age=19 
print(string +str(age)) 

但是,這給出了一個錯誤,指出:

"str object is not callable". 

幫我強制轉換和打印。

+0

您確定這就是您的確切代碼?因爲那應該完全符合你的要求。 – glibdud

+5

你已經分配到'str'某個地方。首先執行'del str'並重試。 –

+0

@ayhan請把它作爲這一個:http://stackoverflow.com/questions/30591182/how-to-fix-redefinition-of-str?noredirect=1&lq=1,我不能因爲我已經投票關閉作爲錯字。 –

回答

0

嘗試formatting strings

print(f'{string} {age}')

+0

這是我以前從未見過的格式,我沒有在您的鏈接中看到它。 – glibdud

+0

我不認爲將Python 3.6中的新格式字符串建議給最有可能不使用最新版本的Python的新用戶是最好的辦法。 –

+0

我們總是可以建議新用戶安裝python 2.7,並首先使用舊版本。但你有一點! – Butuzov

1

就像在評論中提到的,它看起來像你已經重新分配內置的功能str到別的東西。找到並刪除它,你的代碼應該可以工作。

另外值得注意的是,在python3中,print()函數會嘗試將您的參數轉換爲字符串,如果用,分隔它們。如在這裏看到的:

print(string, age) 

age轉換爲一個字符串給你。

0

String.format可以在這裏幫助。

print ("{0} {1}".format(string, age)) 

此結果是以下被打印。

My name 19 

您也可以使用此方法來提高輸出的可讀性。

print ("Name: {0} age: {1}".format(string, age) 

這將導致以下輸出。

Name: My Name age: 19 
相關問題