2015-05-09 48 views
-4

我似乎無法創建一個變量,它會打印出一行文本,並在其旁邊顯示一個變量,其中包含一個每次執行for循環時都會遞增的整數。這是我的代碼:Python Increment int字符串中的變量

id = 1 
for x in range(0, 4): 
studentID = 'Bart: ' + `id` 
print(studentID) 
id += 1 

循環執行四次,但它只是打印出

Bart: 1 
Bart: 1 
Bart: 1 
Bart: 1 

四次它不會增加id整數

+1

這適用於我;你使用的是什麼版本的Python? –

+0

它也適用於我。 – felipsmartins

+0

你使用的是什麼版本?它適用於我的2.7 – Holloway

回答

2

試試這個:

id = 1 
for x in range(1, 4): 
    studentID = "Bart: {}".format(id) 
    print(studentID) 
    id += 1 

但是,爲什麼你在for循環中遞增id?爲什麼不使用for循環?

編輯: 此外,您可以使用print("Bart: ", id)。而且,如果你想他們都在同一行告訴你,你可以使用以下兩種:

print("Bart: ", id, end="") 

sys.stdout.write("Bart: ") 
sys.stdout.write(str(id)) 
sys.stdout.write(" ") 

您需要import sys在你的文件的頂部。

這些是Python 3+解決方案。

+0

這不會給你只有三個迭代,因爲範圍不包括右邊界? – Adalee

+0

確定一秒讓我重新修復它 –

+0

OMG哇這只是一個簡單的語法錯誤,而不是使用「,」我使用「+」符號謝謝 –

0

您的發佈代碼有效。我只能假設在這裏發帖的時候,你不小心固定它,而你的實際代碼有外循環增量:

id = 1 
for x in range(0, 4): 
    studentID = 'Bart: ' + `id` 
    print(studentID) 
id += 1 

這確實確實打印四次「1」,效果顯着。我注意到有人將你的代碼縮進到正確的四個空格,而你原來的代碼只有一個空格縮進,讓你不清楚什麼時候你錯過了。